如何让 axios 拦截器访问我的 React 应用程序的状态?
How do I give axios interceptors access to my react app's state?
我正在使用 axios 拦截器全局处理错误,但想从拦截器设置我的应用程序的状态。类似于:
axios.interceptors.response.use(
error => {
AppState.setError(error)
}
)
function App() {
[error,setError] = useState()
}
如何从外部访问 App 的状态,或者如何从拦截器调用 App 中定义的函数?
我试过了
axios.interceptors.response.use(
error => {
App.setAppErrorState(error)
}
)
function App() {
this.setAppErrorState = function(error) {
// do something with error like set it to state
}
}
但出现错误“类型错误:无法设置未定义的 属性 'setAppErrorState'”
我目前没有使用 Redux,所以不使用它的解决方案会更可取。任何帮助表示赞赏!
如何在 App
组件中设置拦截器?
function App() {
const [error, setError] = useState();
useMemo(() => {
axios.interceptors.response.use(
error => {
setError(error)
}
)
}, [setError])
}
我正在使用 axios 拦截器全局处理错误,但想从拦截器设置我的应用程序的状态。类似于:
axios.interceptors.response.use(
error => {
AppState.setError(error)
}
)
function App() {
[error,setError] = useState()
}
如何从外部访问 App 的状态,或者如何从拦截器调用 App 中定义的函数?
我试过了
axios.interceptors.response.use(
error => {
App.setAppErrorState(error)
}
)
function App() {
this.setAppErrorState = function(error) {
// do something with error like set it to state
}
}
但出现错误“类型错误:无法设置未定义的 属性 'setAppErrorState'”
我目前没有使用 Redux,所以不使用它的解决方案会更可取。任何帮助表示赞赏!
如何在 App
组件中设置拦截器?
function App() {
const [error, setError] = useState();
useMemo(() => {
axios.interceptors.response.use(
error => {
setError(error)
}
)
}, [setError])
}