Способ иметь специальный обработчик ошибок без использования перехватчиков axios?

#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, которое даже не упоминается в вопросе.