美文网首页react 基础与提高
react文档——渲染元素

react文档——渲染元素

作者: soojade | 来源:发表于2016-12-28 10:37 被阅读220次

渲染元素

元素是 React 应用中最小的构建单元。

一个元素描述你想在屏幕上看到的东西。

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

不同于 DOM 元素,React 元素是普通的对象,并且创建起来很“便宜”。React DOM 负责更新DOM 以匹配 React 元素。

注意:

有人可能会混淆元素和广为人知的“组件”的概念。我们将会在下一章节介绍组件。组件是由元素构成的,在下一章之前,我们鼓励你先阅读这一章节。

将元素渲染到 DOM

假设在你的 HTML 文件某处有个div标签。

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

我们称这是一个“根” DOM 节点,因为 React DOM 会管理它里面的一切。

React 构建的应用通常只有一个根 DOM 节点。如果你整合 React 到一个现有的应用中,你可以有随意多个独立的根 DOM 节点。

要渲染一个 React 元素到一个根 DOM 节点,通过把它们传递给ReactDOM.render()

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

CodePen试试。

它会在页面上显示“Hello World”。

更新渲染的元素

React 元素是不可变的。一旦你创建一个元素,你不能改变它的子元素或属性。一个元素就像电影中单独的一帧:它表示在某个时间点上的 UI。

到目前我们所知的,更新 UI 的唯一方法是创建一个新的元素,然后把它传递给ReactDOM.render()

考虑下面这个时钟的例子:

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);

CodePen上试试。

它从setInterval()回调函数中,每隔一秒调用一次ReactDOM.render()

注意:

在实践中,大多数 React 应用仅调用一次ReactDOM.render()。在接下来的部分我们将会学习怎样将这样的代码封装到状态组件中。

我们推荐你不要跳过这些话题,因为它们之间彼此依赖。

React 仅按需更新

React DOM 把元素及其子元素和之前的做比较,然后仅按需更新 DOM,使DOM 达到所期望的状态。

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

即使我们在每一秒创建一个元素描述整个 UI 树,只有内容发生变化的文本节点被 React DOM 更新。

根据我们的经验,我们应该考虑UI在任何一个时间点如何展现,而不是如何消除在这个变化过程的一系列的bug。

下一步

组件和Props

相关文章

  • react文档——渲染元素

    渲染元素 元素是 React 应用中最小的构建单元。 一个元素描述你想在屏幕上看到的东西。 不同于 DOM 元素,...

  • react语法入门

    英语好的推荐 react官方文档 react中文网站 JSX javascript扩展 元素渲染 (Element...

  • React手记

    React手记 1、 2、React元素渲染 React元素渲染是通过方法ReactDOM.render(elem...

  • React 元素渲染

    React 元素渲染官方传送门 元素渲染 元素是构成 React 应用的最小砖块。 将一个元素渲染为 DOM 想要...

  • 第七节:React列表渲染与数据收集

    1. 列表渲染 1.1 列表渲染说明: 列表渲染 先将列表数据转为React元素列表, 然后在渲染 React会将...

  • 第七节:React列表渲染与数据收集

    1. 列表渲染 1.1 列表渲染说明: 列表渲染 先将列表数据转为React元素列表, 然后在渲染 React会将...

  • 渲染元素

    渲染元素 上面的代码将element元素渲染到root节点中。 更新已渲染元素 React元素时不可变的。一旦创建...

  • React使用

    元素渲染 根节点渲染 import ReactDOM from "react-dom"; const ...

  • React 元素渲染

    元素是构成 React 应用的最小单位,它用于描述屏幕上输出的内容。 要将React元素渲染到根DOM节点中,我们...

  • React元素渲染

    1.渲染节点 React 元素都是不可变的。当元素被创建之后,你是无法改变其内容或属性的。目前更新界面的唯一办法是...

网友评论

    本文标题:react文档——渲染元素

    本文链接:https://www.haomeiwen.com/subject/opkyvttx.html