问题标签 [redux-loop]
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.
reactjs - Redux Saga 和循环
我有一个需要集成 Redux Saga和Loop的用例。两者结合在一起的天真实现不尊重 Loop 的自定义CombineReducers,所以当引入副作用时,存储 Loop 效果的隐藏数组被暴露,因此 reducer 的状态树的根变成了一个数组(0
具有正常状态,1
有副作用)。
所以问题存在。我如何让它们在同一个沙箱中玩得很好?
ajax - 复杂的 redux 循环示例?
redux-loop
有没有用于处理复杂 ajax 工作流的示例?官方回购非常简约。从我能找到的一个野外例子(https://hackernoon.com/why-i-wrote-a-redux-async-outerware-277d450dba74#.2ocaloc58)看来,redux-loop 非常相似到 redux-thunk。
以下是一些复杂的 ajax 工作流程示例:
- Ajax 工作流1。用户在结果表上选择两个不同的过滤器。每个过滤器启动一个 ajax 请求,然后无序解析。结果表应显示正确的过滤器选择。错误不应更新结果表。
- Ajax 工作流 2
- 用户开始生成报告(这是一个长期运行的过程)。
- 用户切换到另一个报告。它应该取消或忽略挂起的“等待报告”操作。
- 更复杂的工作流程(基于一个旧的 redux-saga 示例)
- 用户按下登录按钮,这将启动 ajax 请求以获取身份验证令牌
- 任何一个
- 用户立即按下注销按钮,该按钮应取消/忽略待处理的身份验证操作
- 或者它应该在解析时存储身份验证令牌
- 注销后或发生登录错误时应清除身份验证令牌
reactjs - Redux-Loop dispatch 没有从 reducer 返回 promise
我正在使用 v2.2.2 的 redux-loop 来处理来自服务器调用的副作用。
从我的组件中分派了一个动作,如下所示:
我希望我的承诺会从调度中回来,但它总是会回来
[]
我的动作看起来像这样...
其中 getUser 看起来像:
并被减速器捕获并保存到如下状态:
数据总是会正确返回,但由于某种原因永远不会作为对原始调度的承诺而返回。
任何建议都会很棒!
react-native - React Router 与 Redux Loop - Reducers 可能不会调度操作
我正在尝试在 redux 操作后导航到上一个屏幕。我正在react-router
使用react-router-redux
和redux-loop
。
这是场景:
- 在主屏幕上有一个用户列表
/home
。 - 点击用户以转到他们的个人资料
/home/profile/1234
。 - 编辑用户名并点击保存
this.props.dispatch(UserState.updateUser(id, user, history)
。 - 用户更新成功后,返回主屏幕
/home
。
这是一些代码:
看法:
行动:
减速器:
这会导致错误Reducers may not dispatch actions
。
在另一个项目中,我使用redux-saga
并能够成功地将历史对象传递给 saga 和 push/goBack。尝试传递历史对象并在其中调用它似乎发生了一些事情redux-loop
我正在为现有生产应用程序的更新导航系统开发 POC,因此redux-loop
需要使用。
任何提示/帮助将不胜感激。如果我遗漏任何有用的代码,请告诉我。
javascript - `redux-loop` 和 `connected-react-router` 兼容吗?
我使用以下博客文章中的示例代码制作了一个简单的反应应用程序,我仅将其作为引用。我对 javascript 生态系统还是陌生的,并且正在尝试将几个不熟悉的工具组合在一起(以便学习它们)。
相关地,我的store.js
样子是这样的:
这似乎工作正常,我页面上的Link
/Route
触发器工作正常。请注意,install
fromredux-loop
被称为增强器(?)的一部分,这很好。我的减速器中没有任何loop
调用,我只是将install
命令作为增强器插入,希望能够添加一些。
这是我的主要reducer
代码:
同样,这很好用。loop
但是,如果我在减速器中插入任何位置,它就会死掉。根据文档,这是因为我们需要使用combineReducers
from redux-loop
。美好的。如果我将顶部的导入替换为import { combineReducers, } from 'redux-loop';
(根本不改变我的减速器,还没有非标准的返回),那么我会在库代码中得到一些完全无意义的错误:
它持续了很多页,但问题似乎出在ConnectedRouter
; 我认为这是因为combineReducers
in将主减速器的响应类型更改为与调用redux-loop
中的不兼容的内容connectRouter(history)(rootReducer)
。createStore
这是正确的问题吗?这是可以修复的吗?这两个库可以一起使用吗?
javascript - 为什么 redux-loop 操作会跳过所有中间件?
我运行redux-loop 官方示例,稍作改动:
- 而不是
fetch
我使用超时的承诺。 - 我添加了日志中间件(来自 redux.js.org 教程的复制粘贴)。
副作用功能:
行动:
初始状态:
减速器:
我的自定义日志中间件:
配置商店:
调度第一个动作以开始这一切:(我的代码)
输出:
如您所见,第二个操作跳过了我的日志中间件,而且日志的最后一行我也不清楚。为什么 reducer 接收的是一个函数而不是实际的用户对象?
redux - 什么是 redux-loop 以及我们如何在 react native 中使用它
什么是 redux-loop,在 React Native 应用程序中使用它的主要目的是什么?
javascript - 使用 redux-loop 在 Cmd.run 中未调用副作用函数
我正在开发一个 react redux 应用程序,在该应用程序中,单击按钮我需要更改我的窗口位置。到目前为止,我正在调度按钮单击操作并尝试使用 redux-loop 在减速器中实现导航。
组件js
动作js
减速器js
效果js
除了这个动作之外,我还有很多涉及副作用和状态操作的动作,因此是 redux-loop。
我有两个问题:
navigateTo()
单击按钮时控制不会进入。我究竟做错了什么?我觉得 reducer 不是一个合适的地方,因为我们没有在这里操纵状态。调度按钮单击操作时,放置这段代码的最佳位置是什么?
redux - How to access global state from redux-loop combineReducers?
I'm using react-loop, and I'm trying to use its combineReducers but extend it to pass as a third parameter the global state, basically implementing an API similar to https://github.com/Velenir/combine-reducers-global-state
Combine reducers basically invokes the childReducers as we can find in its code
The idea is to pass there a third parameter, so , action, plainState, ...args
so that the reducer receive it as parameter. The problem is how to produce that plainState, since the rootState is basically a combination of array of the form ([state, Cmd]) instead I need only the plain state, without redux-loop handler variables.