使用纯 React 链接异步函数?
Chaining async functions with pure React?
我想知道是否有一种方法可以仅将异步函数与 React 链接起来。我知道如何用 Redux 做到这一点,但想知道是否有只使用 React 的方法。
基本上,我想调用函数 computerMove()
,但只有在 this.state.myMove
设置为 false
之后。像这样:
this.setState({ myTurn: false }).then(() => {
this.computerMove();
});
(上面的代码不起作用,但这就是我想要做的)。
有什么建议吗?
看看:https://facebook.github.io/react/docs/react-component.html#componentdidupdate,这就是你想要的。它像上次渲染之前一样传递道具和状态。检查 myTurn 值是否已更改。
componentDidUpdate(prevProps, prevState) {
if (!this.state.myTurn && this.state.myTurn != prevState.myTurn) {
this.computerMove();
}
}
setState
是异步的并且能够触发回调:
this.setState({ myTurn: false }, this.computerMove);
我想知道是否有一种方法可以仅将异步函数与 React 链接起来。我知道如何用 Redux 做到这一点,但想知道是否有只使用 React 的方法。
基本上,我想调用函数 computerMove()
,但只有在 this.state.myMove
设置为 false
之后。像这样:
this.setState({ myTurn: false }).then(() => {
this.computerMove();
});
(上面的代码不起作用,但这就是我想要做的)。
有什么建议吗?
看看:https://facebook.github.io/react/docs/react-component.html#componentdidupdate,这就是你想要的。它像上次渲染之前一样传递道具和状态。检查 myTurn 值是否已更改。
componentDidUpdate(prevProps, prevState) {
if (!this.state.myTurn && this.state.myTurn != prevState.myTurn) {
this.computerMove();
}
}
setState
是异步的并且能够触发回调:
this.setState({ myTurn: false }, this.computerMove);