我们目前正在React / Redux应用程序中测试错误处理。 (我已经读过https://github.com/reduxjs/redux/issues/1960)。在React中,我们实现了ErrorBoundaries,并且运行良好:不再有未处理异常的空白页面。
否,我们没有尝试在Reducers中引发错误,并且看到它们以不变的Redux状态记录在控制台中。
减速器必须是纯净的!
我绝对可以支持。该功能应“简单”且无副作用,并经过充分测试。问题是:Reducer开发人员可能做出错误的假设(例如,关于Redux状态下的wich属性的定义可能是不确定的)。该示例导致
[Error] Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'someVariableWithCanBeNullOrUndefined.someFunction')
没有人可以争论:至少没有白页。但是,由于所有动作均已分派并执行,但未正确减少,因此App的状态现在有点尴尬。这些错误很容易被忽略。 有没有办法处理这些编程运行时错误?甚至可以在React的ErrorBoundary中显示它们?
答案 0 :(得分:0)
据我所知,减速器或<ControlTemplate x:Key="buttoncheckBox" TargetType="{x:Type Button}">
<Grid Background="Transparent">
...
都无法处理异常。
尽管解决方案是设置全局错误处理程序。可以这样看:
connect(mapStateToProps, mapDispatchToProps)(View)