React 元素渲染笔记二

可以将要展示的部分封装起来,以下实例用一个函数来表示:

function Clock(props) {

  return (

    <div>

      <h1>Hello, world!</h1>

      <h2>现在是 {props.date.toLocaleTimeString()}.</h2>

    </div>

  );

}

function tick() {

  ReactDOM.render(

    <Clock date={new Date()} />,

    document.getElementById('example')

  );

}

setInterval(tick, 1000);

除了函数外还可以创建一个 React.Component 的 ES6 类,该类封装了要展示的元素,需要注意的是在 render() 方法中,需要使用 this.props 替换 props:

class Clock extends React.Component {

  render() {

    return (

      <div>

        <h1>Hello, world!</h1>

        <h2>现在是 {this.props.date.toLocaleTimeString()}.</h2>

      </div>

    );

  }

}

function tick() {

  ReactDOM.render(

    <Clock date={new Date()} />,

    document.getElementById('example')

  );

}

setInterval(tick, 1000);

值得注意的是 React DOM 首先会比较元素内容先后的不同,而在渲染过程中只会更新改变了的部分。

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

推荐阅读更多精彩内容