有没有一种方法可以同步调用父函数?

时间:2020-02-29 12:21:51

标签: javascript reactjs react-native progressive-web-apps

如何在父级中调用以同步方式更改其状态的函数?我的应用程序流程如下:

第一:

this.props.parentProps.setSign(role, res.data["auth"]);

然后:

this.props.params.history.push("/");

当URL更改为/时,我的父状态不变,需要刷新浏览器!

1 个答案:

答案 0 :(得分:1)

调整父函数setSign以将回调作为第3个参数接受,并将其作为setState的第二个参数传递 例如:

setSign = (role, auth, cb) => {
  --------
  this.setState({'xx':'yy'}, cb)
  -------
}

像这样将回调传递给您的父组件函数,然后在该回调中更改路由

this.props.parentProps.setSign(role, res.data["auth"], () => {
  this.props.params.history.push("/");
});