Способ иметь Hoc withErrorHandler без использования Axios перехватчиков? - PullRequest
0 голосов
/ 14 марта 2019

Я хотел бы создать упаковочный компонент более высокого порядка для других компонентов, который перехватывает ошибки и отображает сообщение. Axios имеет встроенные перехватчики, которые облегчают прохождение через componentWillMount и componentWillUnmount при рендеринге модального режима, если error: true. У меня возникли проблемы с написанием его на чистом Typescript, и мне было интересно, есть ли способ сделать это, управляя состоянием ошибки через диспетчер диспетчеризации, который перехватывает ошибки.

    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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...