#reactjs #typescript #error-handling #axios
#reactjs #typescript #обработка ошибок #axios
Вопрос:
Я хотел бы создать компонент более высокого порядка для других компонентов, который перехватывает ошибки и отображает сообщение. В Axios есть встроенные перехватчики, которые упрощают componentWillMount
и componentWillUnmount
во время рендеринга модального if error: true
. У меня возникли проблемы с написанием этого на чистом машинописном языке, и мне было интересно, есть ли какой-либо способ сделать это, управляя состоянием ошибки через обработчик отправки, который улавливает ошибки.
componentWillMount() {
this.reqInterceptor = axios.interceptors.request.use(req => {
this.setState({ error: null })
return req
})
this.resInterceptor = axios.interceptors.response.use(
res => res,
error => {
this.setState({ error: error })
}
)
}
componentWillUnmount() {
axios.interceptors.request.eject(this.reqInterceptor)
axios.interceptors.response.eject(this.resInterceptor)
}
пример переноса
export default connect(
mapStateToProps,
mapDispatchToProps
)(withErrorHandler(WrappedContainer, axios))
Комментарии:
1. Я не совсем понимаю … вы показали код, как вы хотите, чтобы он работал? Если да, то какие ошибки вы получаете? Для чего у вас есть код
withErrorHandler
?2. Похоже, это задача для промежуточного программного обеспечения Redux, которое даже не упоминается в вопросе.