最近两次,由于未定义变量,我在减速器中遇到错误。
在两种情况下,这都导致应用程序变得无响应,因为该错误具有级联效果,并且我所有的传奇“ take”命令都被取消。例如
Tasks cancelled due to error:
takeEvery(actionName1, sl)
takeLatest(actionName2, Yi)
等
此外,在两种情况下,修复都很简单-向减速器添加防御性编码以防止这种情况。
但是,如果代码允许undefined滑过,则对应用程序的影响将是毁灭性的,我想知道是否还有其他方法?
感谢您的任何输入
我有一个可行的答案,但是我还是很乐意评论,以确认这是否是最佳答案,因为我对Redux并不熟悉。
我从上面实现了我的第一个建议,它似乎很好,并且可以解决我的问题
try {
switch (action.type) {
case '...':
...
} catch (err) {
// Do something with the error here
return state; // state is unchanged
}
这是正确的还是有更好的方法?