如何处理已连接的React组件中的API错误?

时间:2019-02-27 10:38:43

标签: reactjs redux

我要在出现API错误(或404)时显示一个对话框。

我的mapStateToPropsmapDispatchToProps看起来像这样:

const mapStateToProps = state => {
  return {
     error: getError(state),
     customer: getCustomerDetails(state)
  }
}

const mapDispatchToProps = dispatch => {
   return {
     showErrorDialog: error => dispatch(showDialog(/*dialog props here*/))
   }
}

我在组件中所做的是:

componentDidMount(prevProps) {
   const {showDialog, error} = this.props
   if (error) return showDialog()
   // ...
   // rest of the code
}

除了componentDidMount之外,还有其他地方可以对错误采取行动吗?也许在mapStateToPropsmapDispatchToProps中,以便根本不重新渲染容器组件。

1 个答案:

答案 0 :(得分:0)

在渲染方法中:

{this.props.error && <Dialog />}

对话框是带有错误消息的组件。

错误为真时,将显示对话框。