当props的roomThingId 改变时,子组件的getDerivedStateFromProps重新拿值
// 该方法返回等于this.setState(),该方法会被频繁触发...
static getDerivedStateFromProps(newProps, oldProps) {
if (newProps.roomThingId !== oldProps.roomThingId) {
return {
...oldProps,
roomThingId: newProps.roomThingId,
}
}
return null;
}
componentDidUpdate(prevProps) {
if (this.state.roomThingId !== this.props.roomThingId) {
console.log('换参数了,要重置部分参数了!prevProps:',prevProps)
console.log('换参数了,要重置部分参数了!state:',this.state)
this.setState( {
roomThingId: this.props.roomThingId
})
}
}