模板网站的优势有哪些,wordpress如何建企业站,wordpress hestia,统计局网站建设从编写组件到最后屏幕生成界面#xff0c;如上图所示#xff0c;我们现在需要知道的就是后面几步是如何运行的。
概述 这张图解释了 React 渲染过程的几个阶段#xff1a;
渲染触发#xff1a;通过更新某处的状态来触发渲染。渲染阶段#xff1a;React 调用组件函数如上图所示我们现在需要知道的就是后面几步是如何运行的。
概述 这张图解释了 React 渲染过程的几个阶段
渲染触发通过更新某处的状态来触发渲染。渲染阶段React 调用组件函数确定如何更新 DOM。这是内部计算阶段不会立即对屏幕产生视觉变化。提交阶段React 实际写入 DOM进行元素的更新、插入和删除。浏览器绘制浏览器将更新后的内容绘制到屏幕上。
在 React 中渲染并不是指更新 DOM 或在屏幕上显示元素。渲染仅在 React 内部发生不会直接产生视觉变化。 渲染触发 渲染触发条件
初次渲染应用程序的初始渲染。状态更新一个或多个组件实例的状态更新重新渲染。
直觉上的状态更新如下 但其实并不是实际上它是批量更新的。 例子如下 关键点
渲染过程是为整个应用程序触发的。实际上看起来 React 只重新渲染状态更新的组件但背后工作并非如此。渲染不会立即触发而是安排在 JavaScript 引擎有空闲时间时执行。事件处理程序中的多个 setState 调用也会进行批处理。
渲染阶段 什么是虚拟DOM 它只是一个javascript对象。 为什么需要协调Reconciliation和区别diffing 纤维树Fiber tree是什么 React 元素树虚拟 DOM左侧显示了一个 React 组件树包含组件如 App、Video、Modal、Overlay、h3 和 button。这是 React 的虚拟 DOM 表示。Fiber 树右侧是 Fiber 树它在初次渲染时被创建。每个组件实例和 DOM 元素都有一个对应的“fiber”。Fiber每个 fiber 是一个“工作单元”包含以下信息 当前状态属性Props副作用使用的钩子hooks工作队列纤维树的特点 内部树结构每个组件实例和DOM元素都有一个对应的“fiber”。这些fiber节点形成了一个树状结构用于描述UI界面。Fiber节点不在每次渲染时重新创建这意味着React可以复用已有的fiber节点从而减少不必要的计算和内存使用。 异步渲染 异步完成工作Fiber允许将渲染任务分成小块利用浏览器的空闲时间进行处理。这种方式避免了长时间阻塞主线程提高了应用的响应性。任务优先级调度React可以根据任务的重要性来决定执行顺序优先处理用户交互等关键任务。 并发特性 支持并发特性Fiber架构支持React中的并发模式使得应用能够更好地处理复杂交互和动态变化例如Suspense或过渡效果。长时间渲染不会阻塞JavaScript引擎通过将渲染过程分割成小块React能够在不中断用户界面的情况下进行更新。 具体实现 增量式渲染通过将渲染任务分配到多个帧中React可以保持应用的流畅性即使在复杂布局或大量计算时也能保持响应。可中断和恢复的渲染在需要时React可以暂停当前任务并在稍后恢复从而提高用户体验。 协调Reconciliation举例 区分Diffing举例 key prop是什么 在list中使用key prop 使用key prop重置状态 这不是我们想要的需要使用key prop进行重置state。 提交阶段
绘制阶段 总结