我要在出现API错误(或404)时显示一个对话框。
我的mapStateToProps
和mapDispatchToProps
看起来像这样:
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
之外,还有其他地方可以对错误采取行动吗?也许在mapStateToProps
或mapDispatchToProps
中,以便根本不重新渲染容器组件。
答案 0 :(得分:0)
在渲染方法中:
{this.props.error && <Dialog />}
对话框是带有错误消息的组件。
错误为真时,将显示对话框。