我的减速器应该处理@@ redux-saga-test-plan / INIT动作吗?

时间:2019-01-31 14:55:06

标签: redux redux-saga redux-saga-test-plan

我正在使用redux-saga-test-plan测试我的sagas中的redux-saga。在调试测试时,我注意到我的reducer收到了一个type === "@@redux-saga-test-plan/INIT"意外动作。

在redux-saga-test-plan文档中我没有看到任何关于此@@redux-saga-test-plan/INIT操作类型的提及。 此动作的目的是什么?我应该以某种特殊的方式处理它吗?

1 个答案:

答案 0 :(得分:0)

reduceer是一个函数,绑定到商店时,无论已调度什么动作,都将调用它,因此它始终必须适应意外的动作类型。到目前为止,执行此操作的最常用方法是不执行任何操作,这在(state, action) -> state类型的函数签名中意味着只返回状态本身而不进行任何更改:

switch (action.type) {
  case ABC: do something; break;
  case XYZ: do something; break;
  default: return state; // <- default "response" to actions that aren't handled by code above: stay chill, do nothing, return the state as is
}

@@redux-saga-test-plan/INIT库的内部动作redux-saga-test-plan是内部的。因为一旦采取行动,就不可能将其从工作流(或开发人员工具)中跳过或隐藏,因此您可能已经看到许多类型类似于该行动的行动。不用担心,那些库很可能会自己使用它们,不需要您进行任何特殊处理。