每次在本地状态更改时调用getDerivedStateFromProps

时间:2020-06-03 20:37:22

标签: reactjs getderivedstatefromprops

当前,当我们从同一组件更改状态时,我正在设置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
    })
}

0 个答案:

没有答案
相关问题