我正在使用redux-saga-test-plan来测试我的redux-saga传奇。在调试我的测试时,我注意到我的reducer收到了一个意外的操作,使用type === "@@redux-saga-test-plan/INIT"。
我在redux-saga- @@redux-saga-test-plan/INIT -plan文档中没有看到任何提到这种测试计划操作类型的内容。此操作的目的是什么?我应该用一些特殊的方式来处理它吗?
发布于 2019-01-31 23:04:25
reducer是一个函数,当绑定到存储时,无论调度了什么操作,它都将被调用,因此它始终必须适应意外的操作类型。到目前为止,最常见的方法是什么都不做,在(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库,操作@@redux-saga-test-plan/INIT是内部的。因为一旦调度了操作,就无法在工作流(或开发人员工具)中跳过或隐藏,所以您可能已经看到了许多与该操作类似的操作类型。不要担心,它们很可能是由lib自己使用的,不需要您的任何特定处理。
https://stackoverflow.com/questions/54463260
复制相似问题