首页 > 其他 > 详细

关于react 父级组件更新数据触发子组件更新渲染问题

时间:2021-08-02 17:17:44      阅读:17      评论:0      收藏:0      [点我收藏+]

这个问题,困扰了我,特此记录。

子组件显示父组件传来的props 做更新有 以下2种常用方式:

1.直接使用

class Child extends Component {
    render() {
        return <div>{this.props.someThings}</div>
    }
}

这种方式可以直接在子组件中使用,方便快捷,父组件的更新的数据直接影响子组件的值。

2.转换成自己的state

    class Child extends Component {
      constructor(props) {
        super(props);
        this.state = {
          someThings: props.someThings
        };
      }
      componentWillReceiveProps(nextProps) {
        this.setState({someThings: nextProps.someThings});
      }
      render() {
        return <div>{this.state.someThings}</div>
      }
    }

自己在构造函数中初始化一个值,在将 status 通过 componentWillReceiveProps 生命周期方法 更新

自己喜欢用的是第二种,看起来易维护,代码结构清晰

但是,我遇到一个问题,是在渲染第一次是正常的,之后怎么也不做渲染了

后面发现了,是无意间使用了 提升react加载性能的 shouldComponentUpdate方法,该方法会阻止 states 的重新渲染

无状态的函数声明组件,如何实现呢,正在解决中。。。

关于react 父级组件更新数据触发子组件更新渲染问题

原文:https://www.cnblogs.com/snowhite/p/15090019.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!