gpt4 book ai didi

javascript - Redux Saga - [...effects] 已被弃用,取而代之的是 all([...effects]),请更新您的代码

转载 作者:行者123 更新时间:2023-11-30 20:14:16 25 4
gpt4 key购买 nike

function* rootSaga() {
yield all(sagas.map(saga => fork(saga)));
}

sagaMiddleware.run(rootSaga);

在上面的代码中,sagas 是一个仍然按预期工作的生成器函数数组。我是 redux saga 的新手,所以我可能没有提供相关信息,但我遵循了许多指南,它们都说了同样的话,但我仍然收到

的弃用信息
[...effects] has been deprecated in favor of all([...effects]), please update your code

我正在通过以下方式导入 redux-saga 函数

import { all, fork } from 'redux-saga/effects';

我在这里遗漏了什么吗?一切正常,但我收到此弃用警告。

最佳答案

看起来您所拥有的应该工作。 fork 是一种效果,all 效果需要对象字典或效果数组。在较低的层次上,我很确定这意味着 all 效果在任何一种情况下都需要生成器。关于 redux-saga 的 beginner tutorial page他们的根传奇是这样放在一起的:

function* helloSaga() {
console.log('Hello Sagas!')
}

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

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

这里要注意的是,在根 saga 数组中,helloSagawatchIncrementAsync 是原地执行的,每个都返回一个生成器。在您的示例中,您将返回一个 fork,但这本质上应该是同一件事。我最好的猜测是您的 map 实际上并没有返回一系列效果。

关于javascript - Redux Saga - [...effects] 已被弃用,取而代之的是 all([...effects]),请更新您的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52081380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com