如何让 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])


}