gpt4 book ai didi

javascript - Redux 异步中间件操作没有 api 调用所需的现有状态

转载 作者:行者123 更新时间:2023-11-28 05:28:42 25 4
gpt4 key购买 nike

我有一个react/redux应用程序,其工作原理如下

  1. 用户访问 host.com/id
  2. 根应用获取 ID 并使用该 ID 调度 LOAD_USER_DETAILS_START 操作。这将返回其他第三方服务所需的用户 ID。
  3. 中间件捕获该消息,并通过回调对我们的 API 进行异步调用,以便在调用完成时分派(dispatch) LOAD_USER_DETAILS_COMPLETE 消息。
  4. 中间件捕获 LOAD_USER_DETAILS_COMPLETE 并使用此新数据触发对第 3 方 API 的多个异步调用。

我的问题是,在第 4 步中,我只有 LOAD_USERS_DETAILS_COMPLETE 操作及其有效负载。我还需要其他应用程序状态(过滤器,例如开始和结束时间)。

目前我正在使用 store.getState() 来处理此问题,因为它可以通过中间件签名获得:

const asyncMiddlewareThing = store => next => action => {
next(action);
switch( action.type){
case LOAD_USERS_DETAILS_COMPLETE:
let { start, end } = store.getState().contactsFilter.timeframe;
return store.dispatch(
createFetchContactsStartMessage(action.payload.zuid, start, end)
);
};

这让我觉得我正在破坏信息的 redux 流。我是吗?我之所以这么问,是因为我看到有几种情况需要这样做。

最佳答案

我会使用 redux-thunk 来代替。它可以选择在提供的函数中获取状态。

关于javascript - Redux 异步中间件操作没有 api 调用所需的现有状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39906227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com