使用redux作为通量模式构建React应用程序。
要使用api,需要进行令牌交换请求。这在React应用程序启动时只发生一次。从令牌交换返回的access_token需要存储在redux状态,并可由其他api调用访问。
我尝试过的一种方法是在App(父)组件中调用redux操作,然后所有其他调用都在子组件中。 React的新功能我现在明白这不是正确的方法,因为React组件生命周期事件和被调用的动作和减少器不遵循同步流,因此redux动作是异步调用的。
如何确保在依赖第一次redux操作的结果的任何其他redux操作之前调用redux操作?哪个中间件最适合确保同步方法redux-thunk,redux-look和redux-saga。
答案 0 :(得分:0)
如果您需要在任何其他操作之前运行进程,则可以在创建存储之前执行,并在创建存储时将结果传递到主reducer函数中。
然后,只需在完成此过程的承诺或回调后呈现应用程序。
否则,只需在创建商店之后和应用渲染之前调度此初始操作(如果是异步,则使用redux-thunk)。
答案 1 :(得分:0)
你可以使用redux-thunk来承诺"承诺"移动动作时的行为。这样,您可以确保在分派另一个操作之前完成操作。