有没有办法在用react-router触发新路由之前等待一个诺言解析?
在遵循新路线之前,我需要等待状态更改。如果我们将函数处理到onClick(),则可以使用推送历史记录,但是如果通过其他方式触发,则无法使用。
有关此问题的任何建议吗?
答案 0 :(得分:0)
按照定义,状态的操作是异步的,如果您需要先确保状态已更新,例如执行API调用,则需要使用setState
的第二个参数:仅被触发的回调状态更新完成后:
this.setState({items}, () => console.log('Here the state is updated'))
答案 1 :(得分:0)
这是React LifeCycle方法ComponentDiDUpdate(){}
派上用场的地方,或者,如果您正在使用React Hooks,则可以使用useEffect(() => {}, []);
这里是链接:
Use Effect Hook
componentDidUpdate()