我正在寻找有关处理mapStateToProps中的错误的最强大和可靠方法的建议,如果甚至建议在React Redux应用程序中在此级别尝试此操作.
例如,如果我使用react-redux连接组件和mapStateToProps:
function mapStateToProps(state, ownProps) {
throw Error('Some unfortunate error.');
return {
// some data
}
}
我想捕获此错误,并可能在渲染组件的位置显示错误组件.我不会尝试恢复 – 只需拿起并继续前进.
目前我注意到这完全停止了React,并且页面可能需要重新加载:Uncaught TypeError:无法读取null的属性’getHostNode’
最佳答案 我将处理异常作为常规数据,因为connect仍然期望一些道具将它们传递给您的组件.我会做这样的事情:
function mapStateToProps(state, ownProps) {
try {
// code
return {
// some data
}
} catch (e){
return {
error: e
}
}
}
然后让组件查找props.error并显示错误消息.