我一直试图测试react + redux应用程序并遇到了问题。我的减速机需要采取类型" FOO"一个嵌套的Javascript对象,就像这里:
{
type: "FOO"
data: {
bar: "foo"
}
}
当我在测试中将没有数据字段的对象传递给reducer时,reducer显然崩溃了。
我的问题是:在实现/测试Reducer时,我可以假设,动作创建者已经处理过错误,并且给定类型的操作总是正确构造,或者也应该处理reducers中的错误(这可能会导致错误状态的风险)传递给组件和选择器,使错误处理成为一场噩梦)?或者我会错过什么?
答案 0 :(得分:3)
调度程序仅检查type属性的操作。
Reducer根本不会检查任何属性的操作。需要检查所有操作对象并相应地处理错误。
另一种检查错误的方法是使用中间件,如果你想避免在reducer内部进行检查。