反应redux同步调用

时间:2016-05-11 12:18:58

标签: reactjs redux

使用redux作为通量模式构建React应用程序。

要使用api,需要进行令牌交换请求。这在React应用程序启动时只发生一次。从令牌交换返回的access_token需要存储在redux状态,并可由其他api调用访问。

我尝试过的一种方法是在App(父)组件中调用redux操作,然后所有其他调用都在子组件中。 React的新功能我现在明白这不是正确的方法,因为React组件生命周期事件和被调用的动作和减少器不遵循同步流,因此redux动作是异步调用的。

如何确保在依赖第一次redux操作的结果的任何其他redux操作之前调用redux操作?哪个中间件最适合确保同步方法redux-thunk,redux-look和redux-saga。

2 个答案:

答案 0 :(得分:0)

如果您需要在任何其他操作之前运行进程,则可以在创建存储之前执行,并在创建存储时将结果传递到主reducer函数中。

然后,只需在完成此过程的承诺或回调后呈现应用程序。

否则,只需在创建商店之后和应用渲染之前调度此初始操作(如果是异步,则使用redux-thunk)。

答案 1 :(得分:0)

你可以使用redux-thunk来承诺"承诺"移动动作时的行为。这样,您可以确保在分派另一个操作之前完成操作。