首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux [...effects]已被否决,赞成所有人([...effects]),请更新您的代码

Redux [...effects]已被否决,赞成所有人([...effects]),请更新您的代码
EN

Stack Overflow用户
提问于 2018-08-29 15:40:55
回答 1查看 1.8K关注 0票数 1
代码语言:javascript
复制
function* rootSaga() {
    yield all(sagas.map(saga => fork(saga)));
}

sagaMiddleware.run(rootSaga);

在上面的代码中,sagas是一个生成器函数数组,这些函数仍然按预期工作。我对复述传奇很陌生,所以我可能没有提供相关的信息,但我遵循了许多指南,这些指南都是这样说的,但我仍然收到了以下的信息:

代码语言:javascript
复制
[...effects] has been deprecated in favor of all([...effects]), please update your code

我正在导入redux-saga函数

代码语言:javascript
复制
import { all, fork } from 'redux-saga/effects';

这里有什么东西我遗漏了吗?一切都很好,但我收到了这个反对警告。

EN

回答 1

Stack Overflow用户

发布于 2018-08-30 16:44:57

看来你所拥有的应该能发挥作用。fork是一个效果,而all效果需要一个对象字典或一个效果数组。在较低的级别上,我非常肯定这意味着all效应在两种情况下都需要生成器。在redux- saga的初学者教程页上,他们的根传奇是这样组合在一起的:

代码语言:javascript
复制
function* helloSaga() {
  console.log('Hello Sagas!')
}

function* watchIncrementAsync() {
  yield takeEvery('INCREMENT_ASYNC', incrementAsync)
}

export default function* rootSaga() {
  yield all([
    helloSaga(),
    watchIncrementAsync()
  ])
}

这里要注意的是,在根佐贺数组中,helloSagawatchIncrementAsync在适当的位置执行,每个数组都返回一个生成器。在您的示例中,您将返回一个fork,但这在本质上应该是相同的。我最好的猜测是,你的地图实际上没有返回一系列的效果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52081380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档