我的React类中有一个方法,例如someMethod()
。我还有一个getDerivedStateFromProps()
方法,我想在其中调用someMethod()
。是的,例如,我需要在getDerivedStateFromProps
中而不是在componentDidUpdate()
中这样做,因为我确实在someMethod()
中更改了状态。
someMethod() {
this.setState({worked: true});
return 'worked';
}
static getDerivedStateFromProps(props, state) {
console.log(someMethod());
}
我希望显示worked
的日志。
答案 0 :(得分:1)
在getDerivedStateFromProps
中,您无权访问组件的实例。所以,基本上,您不能。但是您可以做的是返回一个对象以更新状态。
static getDerivedStateFromProps(props, state) {
return { worked: true }
}