问题标签 [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.

0 投票
2 回答
3680 浏览

javascript - 使用 Redux Saga 每 X 秒调度一次动作

作为 redux-saga 的新手,我正在尝试设置一个 saga,它对动作做出反应并每 3 秒LANGUAGE_START_CYCLE循环一次动作。LANGUAGE_CYCLE

但是当我派发到 Redux 商店时,传奇LANGUAGE_CYCLE从来没有像我预期的那样运行。LANGUAGE_START_CYCLE

知道我做错了什么吗?我怀疑这是一个简单的错误,因为我的其他 sagas 运行良好。

我的其他传奇之一的示例,它们正在运行:

0 投票
3 回答
71967 浏览

javascript - 如何从 redux-saga 函数中的状态/存储中获取一些东西?

如何访问 saga 函数中的 redux 状态?

简短的回答:

0 投票
3 回答
2629 浏览

ios - react-native undefined 不是对象(评估 RCCManager.setRootController)

我正在尝试使用 redux 和 redux-saga 搭配制作一个简单的 react-native 应用程序。不幸的是,当我尝试运行应用程序时(无论是使用react-native run-ios还是通过 Xcode 运行,我都会收到以下错误:

错误消息:未定义不是对象(评估“RCCManager.setRootController”)

奇怪的是,当我将 redux-saga 的 Counter 示例移植到 react-native 或其他示例时,我没有遇到这个问题。我想知道是否有人可以帮助指出哪里出了问题?

0 投票
1 回答
491 浏览

javascript - 术语:“传奇”一词的含义

我刚刚浏览了使用 Redux-sagas 使用生成器函数管理异步操作的文档。
文档很清晰,看起来很有希望,但最后我对前端开发中“saga”一词的准确描述应该是什么感到有些困惑。

这个由 Redux-Saga 文档链接的背景文档: http ://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf 提到:

如果 LLT(Long Lived Transaction)可以写成可以与其他事务交错的事务序列,那么它就是一个传奇。

基本上,他们指的是通过放宽将 LLT 作为原子操作执行的要求来优化长期存在的数据库事务。

您能否阐明“传奇”如何转化为整体前端开发?
我确信它与异步请求管理有关,但我对这个术语的确切描述相当模糊(当与前端相关时)。管理异步流对我来说似乎并不新鲜,但“传奇”一词却是。

编辑:在说通用语言的范围内,这对我来说似乎很重要。如果问题不相关,请在评论中添加原因,我将删除该问题。

0 投票
1 回答
1133 浏览

javascript - redux-saga takeEvery 仅使用 setTimeout 调用

我有一个调度以下操作的容器:

在我的组件(通过容器发送道具)中,我添加了:

传奇:

saga watcher在组件中应用时调用fetchPageTree正确使用,但没有执行。 也不会抛出任何错误。 takeEverysetTimeoutfetchPageTree

关于原因的任何想法?

编辑:
index.es6 文件包含以下初始化逻辑,但总体标准:

0 投票
1 回答
1452 浏览

forms - 在 react.js 应用程序中集成 redux-form 和 redux-sagas

我正在尝试创建一个用户注册表单,其中包含一个名为的组件UserRegistrationForm和一个名为UserRegistration. 尽管我确保已将 redux-form' reducer 安装到formroot reducer 中,但我的浏览器控制台中仍然出现以下错误:

UserRegistrationForm代码:

容器UserRegistration代码:

我知道 redux-sagas 的工作方式与 redux-thunk 非常不同,并且可能需要 reducers 上的选择器。我确实尝试在表单上创建以下选择器,但它没有在减速器中为 key 得到任何东西form

0 投票
0 回答
1302 浏览

reactjs - React-Redux:带有异步调用的 mapStateToProps

我对 react 和 redux 很陌生,我遇到了问题。

注意:我需要稍后描述的流程,因为我的应用程序有一个在服务器上“处理”的动态菜单。

Login屏幕后的应用程序中,我显示了一个Dashboard加载数据的组件(以异步方式):

Dashboard 的渲染方法很简单:

现在,LeftNavigation组件的状态与 react-redux 相关联:

在完成加载并触发操作以更新状态之前,该属性systemTypes为空。this.props.loadAllSystems();

getSystemsTypes写的是reselect

如您所见,为了解决这个问题,我添加了对 systems.length 的检查以避免 Object.keys 上的错误。

以这种方式应用程序可以工作,但是这是正确的还是我做错了什么?

我没用过redux-thunk,我正在用,redux-saga但我想这不是问题。

0 投票
2 回答
1070 浏览

redux - Redux-saga 预加载路由变化的数据

我想使用 redux-saga 从 api 加载一组数据,但是在渲染路线之前导航到新路线(例如 /posts)时,我找不到如何执行此操作的示例。

我该怎么做?

0 投票
3 回答
2877 浏览

javascript - redux-saga 带正则表达式

我正在使用redux-saga我的网络应用程序,但是我已经达到了一个点,即我希望能够创建一个saga处理多种不同请求类型的单一应用程序。为了做到这一点,我希望能够使用taketakeEvery使用正则表达式。例如:

都应该通过这样的方式来处理:

有谁知道这是否可能或如何实现?

0 投票
1 回答
3185 浏览

javascript - Redux-saga 卡在 yield call

我尝试在节点 6.2.1 上运行下一个代码。它记录1、2,然后卡住。我无法理解为什么它不继续执行到行 yield take('TEST')... 似乎 anotherSaga 完成并记录 2 但控制权没有返回给 rootSaga。任何人都可以帮助我吗?

更新:但没有 runSaga 的代码按预期工作,记录 1,2,3,4