问题标签 [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.
redux - redux:与 compose 中间件一起设置初始状态
在创建 store 时设置初始状态(覆盖 reducer 自己的默认初始状态)的常规方法是向 createStore 提供第二个参数(如何在 redux 中设置初始状态)。但不幸的是,我拼凑了一堆我不太理解的东西(请原谅混合的比喻),我不知道在哪里放置我想要的初始状态:
我希望没有人要求看我的 combineReducers 和中间件构建代码,因为那更尴尬。
redux - 如何创建具有本地数据存储的 redux 存储?
我对文档感到困惑。我正在尝试使用Redux-storage中间件,这就是他们显示商店是使用中间件创建的方式:
但是Redux 文档显示了这一点:
createStore
需要传递初始存储值,但我无法在没有存储的情况下加载存储的值。这是一种捕获 22。我在这里错过了什么?
redux - 可以在中间件中监听 Redux @@INIT 动作
在 Redux 中,有初始操作@@INIT
。
发生此操作时是否可以调度另一个操作(在中间件中)?
如果不是,那么在商店准备好后,什么是推送操作的最佳替代方案?
javascript - 如何使用 redux-auto 从端点读取
我正在使用redux-auto但在“init” (第 5 点)中我想达到两个 Api 端点。该文档不包括这种情况。
有一个例子
当只需要 1 个承诺时,我如何调用两个端点?
我正在从他们从 API https://github.com/codemeasandwich/redux-auto/tree/master/example加载用户的示例中工作
谢谢你的帮助
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 的方法来做到这一点?
javascript - Redux-auto:动作链接与索引缩减器
谁能告诉我在减速器函数上使用链和在redux-auto中的主索引减速器函数中工作有什么区别
我想保存一个错误,
A) 商店/聊天/send.js
或者
B) 存储/记录器/index.js
他们都工作
我的问题:
我不知道什么会更好。有什么区别?
为什么我要使用其中一个?
logger.save(...)
另外,我不能只 调用rejected
. 为什么会有这个chain
功能?
谢谢你的帮助 :)
redux - Redux 中间件:想要将响应头作为参数发送给中间件
我正在从一个通用函数进行所有 API 调用,并且在某些响应中,出现了一个自定义响应标头。使用此标头,我需要进行另一个 API 调用。这可以通过使用 Redux 中间件来实现吗?
在中间件中,我想从响应标头中读取一个密钥并进行另一个 API 调用,这可能吗?
javascript - Nuking 领域并从 redux 的状态中删除所有引用
我问的原因很简单,用户无法注销,因为 redux 的 store 仍然持有对RealmObject
已删除实例的引用。
我正在使用与该问题相关的以下软件包:
- “反应原生”:“^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());
. 我应该使用另一种方法吗?我需要减速器反映注销命令,以便在调用调度程序之前重置它们的状态。
angular - 在哪里可以找到 redux observale 中的 Epics 教程?
我还没有找到一个详细解释史诗的教程。