问题标签 [redux-saga]
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-sagas 中设置并随后取消多个观察者
只是试图让我的头脑围绕 redux-sagas 并遇到一个问题,在一个 saga 中设置两个观察者,然后取消它们。
一些背景知识:我有一个 JSON 编辑器组件,其中 saga 处理对后端 API 的调用以加载和保存 JSON 模式。该项目基于React Boilerplate,因此应用程序的结构几乎完全相同。
以下是相关代码:
我认为这yield watcher.forEach(task => cancel(task))
只会遍历任务数组,但它们不会被取消。
reactjs - 在 redux-saga 的自定义 API 中为服务器端包装用户请求
在处理身份验证的通用应用程序中,我们必须考虑每个用户都有自己的 cookie。所以我们需要存储他的初始请求对象,以便能够用他的 cookie 来装饰他未来的 API 调用。我不知道如何用 redux-saga 处理它,我想这项工作应该在自定义中间件中完成,以注入一个将用户请求对象包装到每个 saga 中的对象,至少我认为它可以完成这项工作,但是我不知道如何完全实现它。
我在想这样的事情:
我想在创建商店时有一些事情要做
reactjs - 与 AMD 一起使用的 redux-saga 效果需要
我想在我的加载一个 json 文件,redux-saga
调用如下所示:
我想通过data
一个.put
action
我可以使用哪种效果来wait
调用require
返回结果?像这样的伪代码:
const data = yield call(require("data.json"))
我可以使用这样的承诺:
但是有没有更优雅的方式呢?
reactjs - Redux-saga 在取消后调用操作
我正在尝试在内部实现带有 redux-saga 的 React-boilerplate。所以我试图从服务器获取一些数据,然后重定向到另一个页面。问题是在重定向 saga 之前向服务器发出第二个请求。我想取消它有问题。这是我的代码的一部分:
所以在这个例子中我有两个控制台日志,第二个出现在重定向之前。我该如何解决?
还有一个问题。实际上,我在这个文件中有更多的功能。我应该为它们中的每一个创建“rootSaga”还是可以在 fetchDataRootSaga() 中全部取消它们?我的意思是如果我以这种方式取消 sagas 是否正常:
提前致谢!PS我不确定这段代码是否是最佳实践。它的灵感来自这个存储库
javascript - getState 在 redux-saga 中?
我有一家商店,里面有物品清单。当我的应用程序第一次加载时,我需要反序列化这些项目,就像根据这些项目创建一些内存中的对象一样。这些项目存储在我的 redux 存储中并由itemsReducer
.
作为副作用,我正在尝试使用redux-saga来处理反序列化。在第一页加载时,我调度了一个动作:
我的传奇设置很简单:
在我的反序列化传奇中,我想处理创建项目的内存版本的副作用,我需要从存储中读取现有数据。我不确定如何在这里做到这一点,或者如果这是我什至应该尝试使用 redux-saga 的模式。
redux - Redux saga 不会同时触发两个异步调用
我正在尝试使用 redux saga 在加载页面时同时进行异步调用......但只有 loadPositions() 被调用。有人知道为什么吗?我认为这与比赛条件有关。请纠正我。
debugging - 如何调试 rxjs5?
在RxJS - 目标我读到他们的目标是更好的可调试性:
目标
提供比以前版本的 RxJS 更多的可调试调用堆栈
我刚开始使用redux-observable
它比较容易理解,redux-saga
因为我已经习惯了使用lodash
and的反应式风格ramda
(好吧,也许是 fp 风格;)。我很惊讶还不能调试它。这是真的吗?如果是这样,那么我redux-saga
可能要切换到 s 或坚持使用redux-thunk
.
根据杰伊菲尔普斯的回答进行编辑
通过调试我的意思是:“如何在浏览器中设置断点observable.map(...)
?” 有了lodash
我可以在浏览器中设置一个断点,它就停在_.map(...)
. 如何用redux-observable
(或rxjs
)做到这一点?我不想依赖绘制大理石图和console.log()
.
javascript - 如何从 saga 获取 action.params
我正在使用redux-saga
. 在代码yield* ReduxSaga.takeEvery('MY_ACTION', updatePorts);
中,我如何访问action
以获取其字段。
例如,我有一个动作创建者:
如何action.status
从我的传奇访问?还是我只能通过getState()
和select访问数据?
redux-saga - reducer 和 saga 的顺序
当调度一个动作是它到达减速器和传奇时的顺序?
我可以依靠它吗
- 首先进入减速机
- 那么传奇呢?
减速器:
佐贺: