我刚刚听说反应纤维准备好了。 反应和反应纤维之间的巨大差异是什么? 是否值得学习这些差异的全新概念?
答案 0 :(得分:55)
React Fiber 是React核心算法的持续重新实现,它只是完全内部重写React 。
React Fiber是React核心的完全向后兼容重写。
React Fiber 的目标是增加其对动画,布局和手势等区域的适用性。它的标题功能是增量渲染:能够将渲染工作分成块并将其分散到多个帧中。
React Fiber 是一个虚拟堆栈框架,React Fiber是专门用于React组件的堆栈框架的重新实现。每个光纤都可以被认为是一个虚拟堆栈帧,其中来自帧的信息保存在堆内存中,并且由于信息保存在堆上,您可以控制和使用数据结构并根据需要处理相关信息。
您可以在this video找到林克拉克的精彩解释。
有关详细信息,请查看以下链接
3。What Does React 16 Mean for You?
希望这会对你有所帮助!!
答案 1 :(得分:13)
React Fiber是React核心算法的持续重新实现。反应和反应纤维之间的主要区别是这些新功能: -
增量渲染: - React v16.0包含一个完全重写的服务器渲染器。这真的很快。它支持流式传输,因此您可以更快地开始向客户端发送字节
处理渲染API中的错误: 为了使类组件成为错误边界,我们定义了一个名为componentDidCatch的新生命周期方法(错误,信息)。
从渲染中返回多个元素: 现在,通过React v16.0中的这个新功能,我们还可以返回一个元素数组,以及组件的render方法中的字符串。
门户: 门户网站提供了一种将子项呈现为存在于父组件的DOM层次结构之外的DOM节点的第一类方法。
片段: React中的一个常见模式是组件返回多个元素。片段允许您将子列表分组,而无需向DOM添加额外节点。
答案 2 :(得分:12)
几小时前发布了React 16 beta:https://github.com/facebook/react/issues/10294。
重写的 React核心(内部命名为"光纤")应与现有应用保持兼容,除了一些重大更改(请参阅Github上的发行说明)。由于大多数变化都在幕后,你不需要再次学习一个全新的概念。
答案 3 :(得分:3)
这里的每个人都已经在这里提到了所有提出反应纤维的新功能。我将强调光纤正在做些什么来改善自身。实际上,React光纤将允许暂停和播放浏览器执行的不同任务。它将优先于某些任务而不是另一个任务。
例如,如果特定动画很重要,而不是在后台获取数据。它会将动画任务作为执行堆栈中的优先级,并且一旦动画完成或耗时太长就可以切换到数据获取任务。为了允许这些现代浏览器打开一个API,即requestIdleCallback,它允许任务暂停和播放。 requestIdleCallback
纤维正在使用的反应。这就是光纤在引擎盖中使用的反应,这太棒了。
注意:我可能在几点上不完全正确。如果有的话,我愿意接受任何更正
答案 4 :(得分:0)