axios拦截器中如何使用react-router-domV6的useNavigation?

在axios的response拦截器中,如果遇到无权限,就跳转到'/login',但这里无法使用hooks,所以下面2行代码无法执行,会报错
const navigate = useNavigate()
navigate('/login')
所以如何axios中使用react-router-dom V6版本呢?

const instance = axios.create({
  baseURL: '',
  timeout: 6000,
})

instance.interceptors.response.use(
  (res) => {
    if (res.data.status != 1) {
      if (res.data.msg === '无访问权限,请登录重试') {
\\无权限就跳转到'/login',但此处无法使用hook,该怎么办呢?
      }
      return Promise.reject(res.data)
    }
    return res.data
  },
  (err) => {
    return Promise.reject(err)
  },
)
阅读 4.1k
推荐问题