【问题标题】:react redux synchronous callreact redux 同步调用
【发布时间】:2023-03-03 02:54:01
【问题描述】:

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

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

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

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

【问题讨论】:

  • 一切都可以通过足够的工作映射回 CSP,因此 redux-thunk 应该足以满足您的需求。

标签: reactjs redux


【解决方案1】:

如果您需要在任何其他操作之前运行一个进程,您可以在创建商店之前执行它,并在创建商店时将结果传递给您的主要 reducer 函数。

然后,在这个过程的promise或callback完成后,渲染应用。

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

【讨论】:

    【解决方案2】:

    您可以使用redux-thunk 在调度操作时具有“类似承诺”的行为。通过这种方式,您可以确保在分派另一个操作之前完成一个操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 2019-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多