当前,当我们从同一组件更改状态时,我正在设置ownUpdate: true
状态,并相应地在getDerivedStateFromProps中对其进行检查。以下是我在组件中使用的代码。任何人都可以提出更好的方法来做到这一点。提前致谢。
constructor(props) {
super(props);
this.state = {
expanded: props.expanded,
ownUpdate: false
}
}
static getDerivedStateFromProps(props, state) {
if (state.ownUpdate) {
return {
expanded: state.expanded,
ownUpdate: false
};
} else if (props.expanded !== state.expanded) {
return {
expanded: props.expanded
};
}
return null;
}
toggle() {
this.props. onAfterPress(this.state.expanded, this.props.index);
this.setState({
expanded: !this.state.expanded,
ownUpdate: true
})
}