React Fiber是React核心算法的持续重新实现。反应和反应纤维之间的主要区别是这些新功能: -
的 增量渲染: - 强> React v16.0包含一个完全重写的服务器渲染器。真的很快。它支持流式传输,因此您可以更快地开始向客户端发送字节
的 处理渲染API中的错误: 强> 为了使类组件成为错误边界,我们定义了一个名为componentDidCatch(error,info)的新生命周期方法。
的 从渲染中返回多个元素 强> : 借助React v16.0中的这一新功能,我们现在还可以返回一个元素数组,以及来自component srender方法的字符串。
的 门户 强> : 门户网站提供了一种将子项呈现为存在于父组件的DOM层次结构之外的DOM节点的第一类方法。
的 片段 强> : React中的一个常见模式是组件返回多个元素。片段允许您将子列表分组,而无需向DOM添加额外节点。
这里的每个人都已经提到了反应纤维所带来的所有新功能。我将强调光纤在改善自身方面做出的核心变化。实际上,React光纤将允许暂停和播放浏览器执行的不同任务。它将优先于某些任务而不是另一个任务。
例如,如果特定动画很重要,而不是在后台获取数据。它会将动画任务作为执行堆栈中的优先级,并且一旦动画完成或耗时太长就可以切换到数据获取任务。为了允许这些现代浏览器打开一个API,即requestIdleCallback,它允许任务暂停和播放。 requestIdleCallback
光纤正在使用的是什么。这就是光纤在引擎盖中使用的反应,这太棒了。
注意:我可能在几点上不完全正确。如果有任何更正,我愿意接受任何更正
React 16 beta已在几小时前发布: https://github.com/facebook/react/issues/10294 。
改写了 的 反应核心 强> (内部命名为“光纤”)应与现有应用程序保持兼容,除了一些重大更改(请参阅Github上的发行说明)。由于大多数变化都在幕后,您不需要再次学习一个全新的概念。
的 反应光纤架构 强>
React Fiber是React核心算法的持续重新实现。这是React团队两年多研究的结果。
React Fiber的目标是增加其对动画,布局和手势等区域的适用性。它的标题功能是增量渲染:能够将渲染工作分割成块并将其分散到多个帧中。
其他主要功能包括在新更新进入时暂停,中止或重复工作的能力;为不同类型的更新分配优先级的能力;和新的并发原语