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

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

子组件显示父组件传来的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 的重新渲染

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

posted @   雪莉06  阅读(2650)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示