如何访问 saga 函数中的 redux 状态?
简短回答:
import { select } from 'redux-saga/effects';
...
let data = yield select(stateSelectorFunction);
原文由 Adam Tal 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何访问 saga 函数中的 redux 状态?
简短回答:
import { select } from 'redux-saga/effects';
...
let data = yield select(stateSelectorFunction);
原文由 Adam Tal 发布,翻译遵循 CC BY-SA 4.0 许可协议
这就是“选择器”功能的用途。你将整个状态树传递给它们,它们返回状态的一部分。调用选择器的代码不需要 知道 数据处于什么状态,只需要知道它已返回。有关一些示例,请参阅 http://redux.js.org/docs/recipes/ComputingDerivedData.html 。
在 saga 中, select()
API 可用于执行选择器。
原文由 markerikson 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13.1k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读
正如@markerikson 已经说过的那样,
redux-saga
公开了一个非常有用的 APIselect()
调用selector
内部可用状态的某些部分。对于您的示例,一个简单的实现可能是:
除了@markerikson 建议的 文档 之外,D. Abramov 还提供了一个非常好的 视频教程,其中解释了如何将
selectors
与 Redux 一起使用。另请检查 Twitter 上的 这个 有趣的线程。