• React 元素渲染简单演示


    react更新元素渲染:计时器案例

    src/index.js

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import * as serviceWorker from './serviceWorker';
    
    function tick(){
      const element=(
        <div>现在是{new Date().toLocaleTimeString()}</div>
      )
    
      ReactDOM.render(
        element,
        document.getElementById('example')
      );
    
    }
    setInterval(tick,1000);
    
    // If you want your app to work offline and load faster, you can change
    // unregister() to register() below. Note this comes with some pitfalls.
    // Learn more about service workers: https://bit.ly/CRA-PWA
    serviceWorker.unregister();

    以上代码可以改为函数式封装

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import * as serviceWorker from './serviceWorker';
    
    function Clock(props){
      return(
        <div>现在是{props.date.toLocaleTimeString()}</div>
      )
    }
    
    function tick(){
      ReactDOM.render(
        <Clock date={new Date()}/>,
        document.getElementById('example')
      );
    }
    setInterval(tick,1000);
    
    // If you want your app to work offline and load faster, you can change
    // unregister() to register() below. Note this comes with some pitfalls.
    // Learn more about service workers: https://bit.ly/CRA-PWA
    serviceWorker.unregister();

    也可以改为类封装

    import React, { Component } from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import * as serviceWorker from './serviceWorker';
    
    class Clock extends React.Component {
    
      render(){
        return(
          <div>现在是{this.props.date.toLocaleTimeString()}</div>
        )
      }
    
    }
    
    function tick(){
      ReactDOM.render(
        <Clock date={new Date()}/>,
        document.getElementById('example')
      );
    }
    setInterval(tick,1000);
    
    // If you want your app to work offline and load faster, you can change
    // unregister() to register() below. Note this comes with some pitfalls.
    // Learn more about service workers: https://bit.ly/CRA-PWA
    serviceWorker.unregister();

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

  • 相关阅读:
    AVL树C++实现(end)
    B树/B+树
    树,森林,二叉树转换
    多路查找树
    变形版的九九乘法表
    原始版本的九九乘法表
    菱形变形-闪电
    菱形变形,对称+for循环
    菱形--for循环解决
    BZOJ 2037 区间DP
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12690724.html
Copyright © 2020-2023  润新知