react文档 Rendering Elements

发布时间:2019-08-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了react文档 Rendering Elements脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Rendering Elements

Elements(元素)是 React apps 最小的建筑构件。

element 描述你想要在屏幕上看到什么。

const element = <h1>Hello, world</h1>

不同于浏览器 DOM elements, React elements 是纯对象, 创建开销很小。 React DOM 负责更新 DOM 去匹配 React elements.

Plain Object(纯对象): 指的是通过字面量形式或者new Object()形式定义的对象。
Note:
一个更广为人知的概念 "components" 很容易和 "elements" 混淆。
下一部分我们介绍 components(组件)。component由elements 制造,我们建议不要跳过这部分。

把 element 渲染至 DOM

假定你的 HTML 文件中有一个 <div>

<div id="root"></div>

我们称其为根节点(root DOM node),它内部的所有都由 ReactDOM 来管理。

仅由 React 创建的应用通常只有单独一个根节点。如果把 React 整合进一个已存在的应用,可以有任意多个独立的根节点。

将 React element 渲染至根节点,将两者传递给 ReactDOM.render():

const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById("root"));

在线尝试
页面会显示 "Hello, world"

更新已渲染的 element

React elements 是不可变对象。一旦你创建一个 element,你不可以改变它的子节点和属性。一个 element 就像电影中的一帧:它在特定时间点呈现 UI。

以目前所知,创建一个新的 element 传递给 ReactDOM.render()是更新 UI 的唯一办法。

思考如下时钟的例子:

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>It is {new Date().toLocaleTimeString()}.</h2>
    </div>
    );
  ReactDOM.render(element, document.getElementById('root'));
}
setInterval(tick, 1000);

在线尝试

setInterval() 的回调中每秒调用一次 ReactDOM.render()

Note:
实践中,多数 React 应用只调用一次 ReactDOM.render()
下一部分我们学习如何将代码封装到一个 状态组件中。
我们建议不要跳过主题,因为他们彼此依赖。

React 仅仅更新必要部分

React DOM 与原有元素和他的子节点比较,仅进行必要的节点更新获取期望的 DOM 状态。

你可通过浏览器工具的检查上一个例子来验证。

react文档 Rendering Elements

使我们每秒创建一个 element 描述整个 UI 树,只有文本内容改变的节点被 React DOM 更新。

根据我们的经验,考虑 UI 在每个时刻显示样子而不是如何随时间改变它的理念可以消弭很多bug。

脚本宝典总结

以上是脚本宝典为你收集整理的react文档 Rendering Elements全部内容,希望文章能够帮你解决react文档 Rendering Elements所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。