关于react Class组件优化问题

发布于 2022-09-13 00:28:38 字数 727 浏览 16 评论 0

场景:我有个父组件里面嵌套了很多的子组件,所有的子组件的数据都是由父组件掌控;如图:

image.png

子组件B有个输入框我需要在输入的时候同步到父组件;问题就是 每次数据发生变化子组件都会渲染 不管A组件或者C组件的数据有没有变化 请问一下有没有可优化的方法

换句话说:有没有一种方案可以让 state的某一个值【引用类型】改变、所依赖的其他的值不做渲染;比如:

import React,{ Component } from 'react'

class ParentComponent extends Component {
  constructor (props){
    super(props)

    this.state = {
      demo1:{   // 我只改变了demo1, 那么依赖的demo2数据所依赖的组件可否不渲染
        ..
      },
      demo2:{
        ...
      }
    }
  }
}

export default ParentComponent;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

标点 2022-09-20 00:28:38

子组件里面通过 shouldComponentUpdate 方法去监听数据是否发生变化,数据变化了则返回true表示需要渲染,没变化则返回false表示无需渲染

骄兵必败 2022-09-20 00:28:38

重写shouldComponentUpdate

引用类型也可以根据每个组件写自己需要的 shouldComponentUpdate 判断逻辑。 当然也可以考虑下是不是数据结构是不是有问题。

十秒萌定你 2022-09-20 00:28:38

PureComponent

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文