我需要使用进入我的组件的道具更新我的状态(start_date
),但setState
没有更新我的状态。相反,我得到了undefined
的值。
这是我在代码中所做的事情:
constructor(props) {
super(props);
this.state = {
start_date: ''
};
}
componentDidUpdate(prevProps, prevState) {
console.log("prevProps ", prevProps)
console.log("prevState ", prevState)
if (prevProps.currentRelease != prevState.currentRelease) {
console.log("Inside componentDidUpdate ")
this.setState({
// start_date: prevProps.currentRelease.start
});
}
}
这是我的数据的屏幕截图,它来自父组件,将其传递给子组件:
我需要用currentRelease.start(红色框)更新start_date
状态
我推荐这个。而不是componentDidupdate
static getDerivedStateFromProps(props, state) {
const { currentRelease } = props;
if(currentRelease && currentRelease.start) {
return { start_date: props.currentRelease.start }
}
return null;
}