reactjs – 在mapStateToProps中处理app错误的强大方法?

我正在寻找有关处理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并显示错误消息.

点赞