React中父组件更新,子组件没有更新情况
- 有的时候会遇到父组件状态更新了,子组件却没有更新的情况,理解react生命周期就好解决了
- 一个组件更新的触发条件有三种情况 1
- state更新,用setState()更新即可
在componentWillReceiveProps()生命周期中更新 componentWillReceiveProps(nextProps){ this.setState({ data: nextProps.data }) }
- props更新,这种情况适用于子组件view直接通过this.props来获取数据
<> {this.props.data} </>
- 直接调用 this.forceUpdate()强制让组件渲染,这个方法会跳过该组件shouldComponentUpdate()方法,其子组件正常
这三种情况在React生命周期图谱中都有 ↩︎