关于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 的重新渲染
无状态的函数声明组件,如何实现呢,正在解决中。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了