在componentWillReceiveProps中,this.props和nextProps始终相同

时间:2019-08-12 11:04:52

标签: reactjs react-redux lifecycle

componentReceive中的

this.props和nextProps始终相同。即使状态更改,也不会调用componentWillReceiveProps。

我尚未在父组件中对任何Redux存储对象或状态对象进行了突变。

父组件:

<Drawer
visible={visible}
>
  <ChildComponent data={data} />
/>

子组件:

componentWillReceiveProps(nextProps){
// this lifecycle is not even being called when I update the props
 if(this.props.data !== nextProps.data){
  this.setState({value: nextProps.data.inputValue});
 }
}
onChange = e => {
 this.setState({value: e})
}
render(){
 return(
  <input value={this.state.value} onChange={e => this.onChange(e.target.value)}/>
 )
}

仅供参考:可见数据和数据将作为道具从redux存储传递。

当我在子组件中使用componentWillReceiveProps时,

this.props.data始终等于nextProps.data。它应该有所不同。

0 个答案:

没有答案