У меня топор ios перехват. Он будет ловить каждый запрос. Моя идея состоит в том, чтобы отправлять ошибки обычно в одном месте. Итак, я создал этот перехват. Если произошла ошибка 404, значит, я отправлю действие и перенаправлю страницу на дом. Но, к сожалению, я не могу получить доступ к props.history в HO C.
Здесь я делюсь кодом того, что я реализовал:
HO C ax ios Перехват:
import React, {useEffect} from "react";
import axios from "axios";
const checkRequests= Wrapped => {
function CheckRequests(props) {
useEffect(()=>{
axios.interceptors.response.use(function (response) {
// Do something with response data
return response;
}, function (error) {
switch (error.response.status) {
case 404 :
props.history.push('/login') // will redirect user to login page
break
default :
break
}
// Do something with response error
return Promise.reject(error);
});
})
return (
<Wrapped {...props} />
)
}
return CheckRequests
}
export default checkRequests
И обертывание этого компонента в приложении. js:
import React from "react"
import CheckRequests from "./HOC/CheckRequests"
function App(props){ ... }
export default checkRequests(App)
Ошибка:
Когда консоль опора в HO C она пуста
console.log(props) => {}
Пожалуйста, помогите мне с этим. Есть ли другой способ доступа к history.pu sh с этого HO C. Для отправки действия используется действие store.dispatch(logout())
.