如何在ReactJS中的getDerivedStateFromProps内部调用方法?

时间:2019-05-04 09:53:49

标签: javascript reactjs getderivedstatefromprops

我的React类中有一个方法,例如someMethod()。我还有一个getDerivedStateFromProps()方法,我想在其中调用someMethod()。是的,例如,我需要在getDerivedStateFromProps中而不是在componentDidUpdate()中这样做,因为我确实在someMethod()中更改了状态。

someMethod() {
    this.setState({worked: true});
    return 'worked';
}

static getDerivedStateFromProps(props, state) {
    console.log(someMethod());
}

我希望显示worked的日志。

1 个答案:

答案 0 :(得分:1)

getDerivedStateFromProps中,您无权访问组件的实例。所以,基本上,您不能。但是您可以做的是返回一个对象以更新状态。

static getDerivedStateFromProps(props, state) {
    return { worked: true }
}