问题标签 [redux-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1547 浏览

redux - redux:与 compose 中间件一起设置初始状态

在创建 store 时设置初始状态(覆盖 reducer 自己的默认初始状态)的常规方法是向 createStore 提供第二个参数(如何在 redux 中设置初始状态)。但不幸的是,我拼凑了一堆我不太理解的东西(请原谅混合的比喻),我不知道在哪里放置我想要的初始状态:

我希望没有人要求看我的 combineReducers 和中间件构建代码,因为那更尴尬。

0 投票
1 回答
301 浏览

redux - 如何创建具有本地数据存储的 redux 存储?

我对文档感到困惑。我正在尝试使用Redux-storage中间件,这就是他们显示商店是使用中间件创建的方式:

但是Redux 文档显示了这一点:

createStore需要传递初始存储值,但我无法在没有存储的情况下加载存储的值。这是一种捕获 22。我在这里错过了什么?

0 投票
1 回答
3358 浏览

redux - 可以在中间件中监听 Redux @@INIT 动作

在 Redux 中,有初始操作@@INIT

发生此操作时是否可以调度另一个操作(在中间件中)?

如果不是,那么在商店准备好后,什么是推送操作的最佳替代方案?

0 投票
1 回答
89 浏览

promise - redux-auto:异步操作未触发

大家好,我已经开始使用这个 lib redux-auto,我想和我的服务器交谈。

这是我的代码 - store/user/get.js

这是文档。我看不出有什么担心:(

0 投票
1 回答
73 浏览

javascript - 如何使用 redux-auto 从端点读取

我正在使用redux-auto但在“init” (第 5 点)中我想达到两个 Api 端点。该文档不包括这种情况。

有一个例子

当只需要 1 个承诺时,我如何调用两个端点?

我正在从他们从 API https://github.com/codemeasandwich/redux-auto/tree/master/example加载用户的示例中工作

谢谢你的帮助

0 投票
2 回答
1273 浏览

javascript - Redux:从 Web 服务访问状态的正确方法?

我已经概述了几种可能从 Web 服务访问状态的方法,但我不知道在 react-redux 应用程序中哪一种是正确的,或者下面是否列出了正确的一种。

语境:

最初,我有一个API.js文件作为 Web 服务的基础。然后我会将它导入到我的操作文件中。这进展顺利,直到我需要API.js. 我试图导入我的商店,但它返回了undefined. 然后我意识到我有一个循环依赖:

api -> store -> reducers -> components -> actions

自定义中间件


我想知道这是否可以接受。我放弃了我的API.js. 我使用它来自动修改具有特定操作类型的传出网络调用。这是我的中间件堆栈的样子:

myCustomModifyRequestMiddleware基本上看起来像:

现在我的中间件中有业务逻辑!

然后我可以有一个名为API_ActionCreator. 但是,嘿,如果我只是要使用动作创建器,为什么不...

敲它


使用 thunk 我可能只是有类似的东西API_ActionCreator.js

现在我可以将 my 导入API_ActionCreator到我的操作中,而无需任何循环依赖。

订阅商店?

另一种方法是让 Web 服务有状态;订阅store或中的商店web service,如果我在我的操作中调用我的 Web 服务时能以某种方式避免遇到循环依赖。

TLDR; 当然,这都是实验性的,尽管我能够让中间件工作。

我不知道哪一种是最可行的方法,是否有一种更 redux-ish 的方法来做到这一点?

0 投票
2 回答
120 浏览

javascript - Redux-auto:动作链接与索引缩减器

谁能告诉我在减速器函数上使用链和在redux-auto中的主索引减速器函数中工作有什么区别

我想保存一个错误,

A) 商店/聊天/send.js

或者

B) 存储/记录器/index.js

他们都工作

我的问题:

  1. 我不知道什么会更好。有什么区别?

  2. 为什么我要使用其中一个?

  3. logger.save(...)另外,我不能只 调用rejected. 为什么会有这个chain功能?

谢谢你的帮助 :)

0 投票
1 回答
523 浏览

redux - Redux 中间件:想要将响应头作为参数发送给中间件

我正在从一个通用函数进行所有 API 调用,并且在某些响应中,出现了一个自定义响应标头。使用此标头,我需要进行另一个 API 调用。这可以通过使用 Redux 中间件来实现吗?

在中间件中,我想从响应标头中读取一个密钥并进行另一个 API 调用,这可能吗?

0 投票
0 回答
365 浏览

javascript - Nuking 领域并从 redux 的状态中删除所有引用

我问的原因很简单,用户无法注销,因为 redux 的 store 仍然持有对RealmObject已删除实例的引用。

Realms 问题 1031中所述,向用户显示以下错误

访问已失效或删除的 X 类型对象

我正在使用与该问题相关的以下软件包:

  • “反应原生”:“^0.46.1”
  • “反应导航”:“^1.0.0-beta.11”
  • “反应减少”:“^5.0.5”
  • "领域": "^1.9.0",
  • "redux": "^3.7.0",
  • "redux-logger": "^3.0.6",
  • "redux-persist": "^4.8.2",
  • “redux-thunk”:“^2.2.0”

现在,我有一些 action 和 reducer 更新了 redux 的 store。当用户决定全部使用核武器时,我会表演以下舞蹈:

以下函数调度结果

对于每个减速器,我将状态重置为其初始状态:例如对于帐户减速器

对于导航减速器,我重置了路线并指向登录页面。这是一切重新开始的地方。

如果我是正确的,那么问题存在是因为您调用 dispatch(redux 的中间件/thunk 逻辑)在整个应用程序中传播信息。但据我了解,dispatch 调用的部分存储仍然包含对已删除RealmObject实例的引用。因此错误。

在堆栈跟踪中的某个地方,它指向dispatch(logoutSuccess());. 我应该使用另一种方法吗?我需要减速器反映注销命令,以便在调用调度程序之前重置它们的状态。

0 投票
1 回答
212 浏览

angular - 在哪里可以找到 redux observale 中的 Epics 教程?

我还没有找到一个详细解释史诗的教程。