zoukankan      html  css  js  c++  java
  • React更新元素 基础

    React元素创建后无法修改其内容和属性。唯一的办法是创建新的元素,传入ReactDOM.render()方法

    三种实现形式:

    1.整体替换

    function tick () {
      const ele=(
        <div>
          <h1>更新元素</h1>
          <h2>现在是:{new Date().toLocaleTimeString()}</h2>  
        </div>)  ;
      ReactDOM.render(
        ele,
        document.getElementById('example')
      )
    }
    setInterval(tick,1000);

    2.将要展示的部分封装起来

    function Clocks (props) {
      return (
        <div>
          <h1>Hello,world</h1>
          <h2>现在是{props.date.toLocaleString()}</h2>
        </div>
      )
    }
    function tick () {
      ReactDOM.render(
        <Clock date={new Date()}>,
        document.getElementById('example')
      )
    }
    setInterval(tick,1000)

    解析:每隔1秒执行tick  触发Clock 将参数传递到Clock函数中,修改html

    3.创建React.Component的类,封装要显示的元素

    class Clock extends React.Component{
      render(){
        return (
          <div>
            <h1>Hello world</h1>
            <h2>现在是{this.props.date}</h2>
          </div>
        )
      }
    }
    function tick (){
      ReactDOM.render(
        <Clock date={new Date()}/>,
        document.getElementById('example')
      )
    }
    setInterval(tick,1000)

    React会对比元素内容的先后不同,渲染的时候只更新不同的部分

  • 相关阅读:
    C# vb实现浮雕特效滤镜效果
    一张图看懂SharpImage
    C#控制操控操作多个UVC摄像头设备
    C#读写修改设置调整UVC摄像头画面-缩放
    继承多态绕点 Java篇
    继承多态绕点 C#篇
    lock关键字理解
    关于C#迭代器
    关于排列组合中组合结果
    C#与Java中相等关系
  • 原文地址:https://www.cnblogs.com/shui1993/p/9958219.html
Copyright © 2011-2022 走看看