我已经调度了一个不包含任何异步代码的动作,例如ajax调用或任何改变reducer状态的东西。我可以在react应用程序的下一行中访问更改的reducer状态吗?
反应APP
actions.setName('Test'); //this sets the name in state of reducer to Test
//Can I access the name in the next line
const name = this.props.name;
答案 0 :(得分:1)
let response = await this.props.appAction.processList(token, userName);
prodArray = this.props.processList;
这是我的示例代码,它的工作原理。也许它可以帮到你。 await关键字对我有用。
答案 1 :(得分:1)
Redux商店的状态本身会立即更新,因为调度是同步的。但是,React的重新渲染几乎总是异步的,所以不,在调度动作后,对于道具的更新不立即可用。
答案 2 :(得分:0)
刚刚发现我们不能立即更新状态并在下一行中作为道具提供。
获得更新状态的唯一方法是组件重新渲染时。你不能指望下一行在任何时候都有最新状态。
请参阅此讨论,以进一步了解如何解决此问题。