我一直在尝试测试react+redux应用程序并遇到了一个问题。我的 reducer 期望“FOO”类型的操作来实现嵌套的 Javascript 对象,如下所示:
{
type: "FOO"
data: {
bar: "foo"
}
}
当我在测试中将没有数据字段的对象传递给reducer时,reducer显然崩溃了。
我的问题是:在实现/测试 reducer 时,我可以假设操作创建者已经处理了错误,并且给定类型的操作始终具有正确的结构,或者也应该处理 reducer 中的错误(这可能会导致错误状态的风险)传递给组件和选择器并使错误处理成为一场噩梦)?或者我错过了什么?
最佳答案
调度程序仅检查类型属性的操作。
Reducer 根本不检查任何属性的操作。所有操作对象都需要进行相应的错误检查和处理。
如果您想避免在 reducer 内部进行检查,则检查错误的另一种方法可以是使用中间件。
关于javascript - redux reducer 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41429755/