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