0

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
    })
}
4

0 回答 0