带有 Redux 工具包的 redux-saga - 没有效果 运行

redux-saga with Redux Toolkit - effects do not run

我有 @reduxjs/toolkitredux-saga 的 CRA 设置。

主要的传奇 运行。但是,本应在 takeEveryfork 上 运行 的子传奇似乎根本就不是 运行。

传奇:

export function* saga() {
  console.log('main'); //logs

  fork(function* () {
    console.log('fork') //doesn't log
  });
}

店铺:

const sagaMiddleware = createSagaMiddleware();
const store = configureStore({
  reducer: state => {
  },
  middleware: defaultMiddleware => defaultMiddleware().concat(sagaMiddleware)
});

sagaMiddleware.run(saga);

Repo link.(只有 CRA + 工具包 + redux-saga)

Related reduxjs/toolkit issue.

很确定你需要yield这两种效果才能让他们做任何事情:

export function* saga() {
  console.log('main'); //runs

  yield takeEvery('*', function*() {
    console.log('takeEvery') //doesnt run
  })

  yield fork(function* () {
    console.log('gen') // doesnt run
  });
}

我认为 yield takeEvery 也可能“阻止”传奇继续到达岔路口?不确定这里的传奇语义。