React 元素渲染笔记一

元素是构成 React 应用的最小单位,它用于描述屏幕上输出的内容。

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

与浏览器的 DOM 元素不同,React 当中的元素事实上是普通的对象,React DOM 可以确保 浏览器 DOM 的数据内容与 React 元素保持一致。

首先在一个 HTML 页面中添加一个 id="example" 的 <div>:

<div id="example"></div>

在此 div 中的所有内容都将由 React DOM 来管理,所以将其称为 "根" DOM 节点。

用 React 开发应用时一般只会定义一个根节点。但如果是在一个已有的项目当中引入 React 的话,可能会需要在不同的部分单独定义 React 根节点。

要将React元素渲染到根DOM节点中,通过把它们都传递给 ReactDOM.render() 的方法来将其渲染到页面上:

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

ReactDOM.render(

    element,

    document.getElementById('example')

);

React 元素都是不可变的。当元素被创建之后,是无法改变其内容或属性的。

目前更新界面的唯一办法是创建一个新的元素,然后将它传入 ReactDOM.render() 方法:

来看一下这个计时器的例子:

function tick() {

  const element = (

    <div>

      <h1>Hello, world!</h1>

      <h2>现在是 {new Date().toLocaleTimeString()}.</h2>

    </div>

  );

  ReactDOM.render(

    element,

    document.getElementById('example')

  );

}

setInterval(tick, 1000);

以上实例通过 setInterval() 方法,每秒钟调用一次 ReactDOM.render()。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于JSX 考虑这样一段代码:const element = Hello, world! ;这段代码既不是字符串...
    带三本书阅读 392评论 0 1
  • 3. JSX JSX是对JavaScript语言的一个扩展语法, 用于生产React“元素”,建议在描述UI的时候...
    pixels阅读 2,925评论 0 24
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,879评论 1 18
  • Yes, React is taking over front-end development. The ques...
    Transnet2014阅读 985评论 0 2
  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 1,756评论 0 5