问题标签 [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.
javascript - 使用 Redux Saga 显示 HTTP 请求响应
嘿,所以我想从 react-saga 的请求中获取 json !我想知道如何获取我的 saga 产生的数据,我有一个想法在 componentWillMount 中调用生成器函数,该函数使用 takeLatest 监视“REQUEST_DONE”操作,然后重新渲染。
但我认为在我的一个组件中使用 react-saga 是个坏主意。请指导
我的传奇文件:
我的组件
reactjs - 渲染前的 Redux 调度
我想在渲染组件之前调度一个动作。但是该动作是与 redux-saga 集成的异步动作。
我必须知道异步操作何时完成,如果完成,则渲染组件。为了完成这项工作,我为每个容器设置了一个唯一的 ID,并且在操作完成后,属性 { loaded: true } 将被保存到存储中。
我正在考虑这种方式
@preload
componenWillMount
是一个函数在(对于服务器端)或(对于客户端)触发指定的动作componenDidMount
,当动作调用时resolve()
,state.preloadState.uniqueId.loaded
将设置为true
。它还包装组件,以便仅在state.preloadState.uniqueId.loaded === true
.
@connect
在指定的操作中将我想要预加载的数据连接到 redux 存储中。
我想知道为 redux、redux-saga 应用程序和服务器端渲染进行数据预加载是否是常见的做法(我之前使用过 redux-async-connect,但我想让所有嵌套组件都能够进行数据预加载所以我绑定到 componentWillMount 而不是一些静态函数)。
react-router - 如何在 Redex-Saga 中进行 React-Router 页面转换
我使用 React-Router 和 Redux-Saga,如果我想在我的 Sagas 中做 React-Router 页面转换,我该怎么做?谢谢。
javascript - 如何在没有 break 语句的情况下结束 while (true) 循环?
我正在浏览 redux-saga 频道文档。我遇到代码的地方:
如您所见,这是一个永远不会结束的无限循环,您应该调用 break 或 throw 和异常。但在上面的例子中,情况并非如此。上面的代码或调用函数中没有引发中断或异常。上面的无限循环怎么可能结束并到达finally块?
见:http: //yelouafi.github.io/redux-saga/docs/advanced/Channels.html
react-router - 如果在反应路由器中重定向到登录,在哪里保存“下一个路径名”?
我使用 react-router 和 react-router-redux,如果他尝试访问需要登录的页面而不登录,我会将用户重定向到登录页面:
在用户登录后,我会将用户重定向到“/react/myprofile”:在我的 redux-saga 中,我执行以下操作:
如上所述,我必须从中检索信息 route_state.locationBeforeTransitions.state.nextPathname
,这太冗长了,这样做似乎很奇怪。
我想知道是否有更好的方法来做到这一点?谢谢。
reactjs - react redux saga rootTask.done 从未解决
当我运行 sagaMiddleware
rootTask 的(返回的 sagaMiddleware.run(rootSaga)) done Promise 从未得到解决,问题出在哪里?
todo.sagas.js
注册Sagas.js
服务端渲染 rootTask 从未被解决,持续等待!
reactjs - Call yield put() inside a success callback
I am brand new to React and Redux.
I am using react-redux to call the AWS Cognito service which takes an object containing a success and failure callback. I get my JWT back from AWS Cognito when I console.log inside my success callback; however, how can I yield put()
inside this callback since it's not a generator function (function*
).
Here's some code:
javascript - ECMA 2015:如何在回调例程中使用带有“yield”的异步函数?
在使用Redux和Redux-Saga的 ECMA-2015-App(具体:React Native)中,我们经常大量使用这样的代码(工作正常,这里不是真正的问题):
这里有个简短的问题:但是,是否有可能在回调函数中结合异步函数和 yield-constructs?
更长的问题:
为了在用户设备上使用本地 sqlite-database,我们使用了这个很棒的库react-native-sqlite-storage。
为了在一个事务中封装多个 sql 语句,回调是必要的,如下所示:
当所有这些语句都封装在一个大的单个事务中时,在许多 INSERT 或 UPDATE 上加速 sqlite 是众所周知的最佳实践。
但是由于我们使用带有大量“yield”语句的 redux 来在业务逻辑和 UI 更新之间进行通信,所以我们现在遇到了问题。
有人在这里有想法吗?
javascript - 如何在 fetch 调用返回的 Promise 中使用生成器函数作为回调?
以上可能吗?当回调函数是生成器时,我没有得到控制台输出,这意味着控件没有传递给回调函数(生成器)。我想这样做的真正原因是我必须使用上述回调中的 redux-saga 的 'call' 辅助函数调用另一个 fetch 请求,该回调只能从生成器函数调用。