加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

React 16.8发布了React钩子:在React组件中可重用和可组合的逻辑

发布时间:2020-03-30 19:48:54 所属栏目:编程 来源:站长网
导读:React 16.8宣布了React钩子:在React组件中可重用和可组合的逻辑 React团队最近宣布了以React Hooks为特色的React16.8。钩子封装了不纯逻辑(如状态或结果),具有成果语法,应承钩子被重用、组合和独立测试。开拓职员还可以通过组合界说本身的钩子,并行使预

React 16.8宣布了React钩子:在React组件中可重用和可组合的逻辑

React团队最近宣布了以React Hooks为特色的React16.8。钩子封装了不纯逻辑(如状态或结果),具有成果语法,应承钩子被重用、组合和独立测试。开拓职员还可以通过组合界说本身的钩子,并行使预界说的Hooks与React16.8一路发运。基于钩子的React组件应承开拓职员构建伟大的React组件树,这些树更短,更轻易领略。
React 16.8宣布了React钩子:在React组件中可重用和可组合的逻辑

固然React Hooks在Face book上获得了普及的应用,但这个附带告诫的成果如故是一些开拓职员之间偶然会剧烈接头的题目。到今朝为止,支持纯成果要领的更换社区率领的提议并没有复制React Hooks的一个要害甜头:为即将到来的React版本启用并发模式。

组成React应用措施的React组件的很大一部门是实现结果,并与当地和全局状态交互。差异的组件凡是执行相同的有用计较。React Hooks将这些有用的计较打包到函数语法中,这样它们就可以在React应用措施的框架中重用。React文档提供了来自谈天应用措施的组件Friend Status的示例,该应用措施表现一条动静,该动静指示伴侣是在线照旧离线:
React 16.8宣布了React钩子:在React组件中可重用和可组合的逻辑

Friend Status行使预界说的use State和useEffect通过JavaScript函数实现其指定的举动。行使状态果真setter-GetterAPI以会见它建设的当地状态。行使Effect对Friend Status的每个泛起都有影响。这种结果是通过运行该结果的函数来指定的,该函数也许初始化任何相干资源,并返回也许开释不再必要的资源的整理函数。
React 16.8宣布了React钩子:在React组件中可重用和可组合的逻辑

在React组件树中,指定的举动将表现为单个<;Friend Status>;节点。行使凡是基于类的举动实现,通过高阶组件重用状态或结果逻辑将导致这些高阶组件隐藏地污染组件树,从而影响到可读性。另一方面,不重用状态或结果逻辑轻易呈现与手动复制相干联的错误种别,也许导致更大的代码巨细,以及响应的次优用户体验。

处理赏罚16.8艘船只,有10个预界说的挂钩,以办理详细的有用题目。这些钩子与React细密地集成在一路,不会在React类上下文和运行时之外保存任何意义。

预界说的React Hooks可以构成自界说Hooks,这是由开拓职员界说的函数,着实现挪用预界说的Hooks。React文档提供了一个谈天动静吸取者选择器Chat Reacce pt Picker的示例,该示例表现当前选中的伴侣是否在线:

Chat Repiece Picker React组件重用use State钩子和use Friend Status自界说钩子。前面的示例展示了React Hooks的一个要害上风,这好像是钩子的天然构成:捕捉收件人ID的当地状态可以作为参数转达给Friend Status,提供计较当前选定收件人是否在线的预期举动,而不依靠于收件人何时变动。

固然React Hooks组合在语法上也许与平凡JavaScript函数组合相似,但两者在语义上有着反直觉的差异,Hooks的精采举动受到特定法则的束缚:

对Hooks组合举动的打点法则,也许由一个专用的eslint插件执行,对一些开拓职员来说是一个挑衅和紊乱的来源。一位开拓商表明:

我不风俗必要一个LINTER来汇报我什么时辰有用的JavaScript是无效的,由于我可巧行使了一个特定的库。在我看来(不外云云),这违反了编程的一些根基原则

其他开拓职员热情地接管了Hooks,并正在成立本身的直觉和保举的实践。

作为一种也许的调停法子,React颁发了一份具体的表明,将组合举动与React Hooks的实验细节接洽起来。然而,引入实现细节来领略语义和成立一个生理模子的须要性大噶?鲨碍开拓职员更大和更快地接管的一个障碍。

React Hooks是新的,跟着与将Hooks集成到React渲染管道相干的错误和纷歧致呈现,React团队正在起劲拟定常见的陷阱和反抗计策。

React团队倡导慢慢回收计策,并阻止用Hooks重写现有的基于类的代码库。文件评述:

你此刻不必学胡克斯。钩子没有间断的变革,我们也没有从React中删除类的打算。(...)我们不提议您在一夜之间重写现有的应用措施来行使Hooks。相反,实行在一些新组件中行使Hooks,并让我们知道您的设法。行使Hooks的代码将与行使类的现有代码并排事变。

一些React开拓职员仍在研究具有更好属性的更换方案,或支持纯成果要领。然而,到今朝为止,它们都没有复制React Hooks的一个要害甜头,即启用即将到来的React版本并发泛起。Redux和Create React App的合著者Dan Abramov叙述了:

我们但愿闭包可以或许捕捉我们所泛起的值,而且可以或许永久看到这些值。对付当前值观念并不真正存在的并发模式来说,这长短常重要的。钩子计一律个组件模子,由于它同时处于很多非碰撞状态,而不是切换当前状态(这是什么类模子好)。人们真的不必要思量这些细节,但他们正在鼓励计划。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读