zoukankan      html  css  js  c++  java
  • 6.1 React组件 Component的两个问题

    1 Component的两个问题:

      1 只要执行 setState(),即使不改变状态数据,组件也会重新render()===》 效率低。

      2 只要当前组件重新render(),就会自动重新渲染render子组件,即使子组件没有使用到父组件的任何数据。 ===》效率低 。

    1 只要执行setState(),哪怕是空,也会重新。 2 父子组件,渲染子组件。

    2 那么应该怎么修改问题呢?

      只有在组件的state 或者 props数据发生改变的时候 才重新render()

    3 原因 :

      Component 的shouldComponentUpdate返回的是true

    4 解决:

      办法1: 重写shouldComponentUpdate()方法。(新就state或者props没有变换,返回false)

      办法2 : 使用PureComponent(component 这人里面的sholueComponent竟然不行,阀门不行)

          PureComponent重写了方法。

        注意:

          1只是state和props数据的浅层次比较,如果是内部局数据变了,返回false。

          2所有不要修改state的数据,二十产生新的数据。

    this.setState({  carName:' maibahe']  })    // 重新构建一个新对象。开辟一个新的对象。

    但是 const obj = this.state

    obj.carName ='maibaim'

    this.setState(obj)

     不要和原来的对象发生任何关系。

    push,unshift。

    同一个人,人家的阀门就是关闭的!

    ( { arr:['小刘',...stu]}) //添加一个。新数组!

  • 相关阅读:
    布局神器display:table-cell
    解决IE兼容总汇【转】
    jQuery Validate【强大的表单验证】
    使用信号SIGALRM 为 recvfrom 设置超时,防止死等待
    并发服务器(IO多路复用)
    并发服务器(多进程版本)
    TCP listen()函数内幕
    c++ 重载运算符规则
    内核定时器struct timer_list
    C和arm汇编的相互调用(看书笔记)
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14453552.html
Copyright © 2011-2022 走看看