将 redux sagas 分离到文件中的正确方法是什么?



我找不到可靠的消息来源。

我正在尝试以以下形式构建我的应用程序:

  • 容器 1
    • 容器.js
    • 减速机.js
    • 选择器.js
    • 传奇.js
  • 容器 2
    • 容器.js
    • 减速机.js
    • 选择器.js
    • 传奇.js

并且有一个根传奇文件,该文件只会导入所有子传奇并让事情发生。

我的典型传奇文件如下所示:

/**
* watch something
*/
function* watchSomething() {
yield takeLatest(GET_SOMETHING, callGetSomething);
}
export const somethingSagas =  [
watchSomething
];
export default watchSomething;

还有我的根传奇:

import JolterSagas from '/path/to/container/sagas';
export default function* root() {
yield all([
SomethingSagas.map((saga) => fork(saga))
]);
};

虽然工作,但我在控制台中得到以下内容:

[...效果]已被弃用,有利于所有人([...效果](,请更新您的代码

无论我如何更改代码,它要么不起作用,要么继续打印此警告。

我找不到任何最新的可靠文档来说明如何做到这一点,官方文档中的所有示例都很小而且是单一的。

谢谢。

我猜您正在从redux-saga导入takeEverytakeLatest您必须从redux-saga/effects导入takeEverytakeLatest

import { takeEvery, takeLatest, fork } from `redux-saga/effects`

yield all(SomethingSagas.map((saga) => fork(saga)));

而且没有正确的方法来构建你的传奇。这取决于你的项目,你的编码风格。

相关内容

最新更新