我有一个特定的场景,需要使用下一步/路由重定向到特定页面

但出现以下错误:

错误:挂钩调用无效.钩子只能在身体内部调用 功能组件的.

我在index.tsx中的所有代码都是:

import { Axios } from '../axios'
import { Languages } from '../bussiness/language'
import { useRouter } from 'next/router'

export async function DispatchApi({
  address,
  sendedData,
  lan = Languages.fa,
  method,
}: {
  address: string
  sendedData: string
  lan: Languages
  method: 'POST' | 'GET'
}) {
  let data = JSON.parse(sendedData)
  const router = useRouter()
  
  let useAxios = Axios.interceptors.request.use((config) => {
    router.push('login')
    return config
  })
  return await Axios({
    url: address,
    data,
    method,
    headers: {
      accept: '*/*',
      'Accept-Language': lan,
      'Content-Type': 'application/json',
    },
  }).then(({ data }) => data)
}

但是我怎么才能解决这个问题呢.有什么具体的配置吗?

推荐答案

您可以使用以下命令来避免这种情况

import Router from 'next/router';

它与从useRouter()返回的对象具有相同的属性

Reactjs相关问答推荐

有正确的方法来设置我的金牛座应用程序的图标吗?

React onKeyUp不一致地使用快速Shift+键按压

为什么安装FLOBIT后,所有的输入FIELD现在都有一个蓝色的轮廓?

利用OVERPASS API端点计算某建筑的表面积

如何在单击行中的图标时避免选中ionic 复选框?

Redux Store未触发React组件中的重新呈现

Reaction中的数据加载不一致

React Todo List 应用程序我在实现删除功能时遇到问题

如何在不同的路由中渲染相同的页面组件(包括 getServerSideProps)

使用reactrouterdom时显示"对象无效作为React子组件"错误

如何在 React 过滤器中包含价格过滤器逻辑?

即使配置了 webpack.config.js,html-loader 也不起作用

FlatList 不在 React Native 中呈现项目

我可以更改 styled() 中的响应吗? (MUI v5)

MUI - ButtonGroup fullWidth 条件屏幕大小不起作用?

需要在窗口调整大小时更新 React 组件

react 事件顺序

如何在 MUI 数据网格中的 renderCell 组件之间传递状态

如何在 react-router-dom v6 中实现监听功能?

为什么 state redux-toolkit 是代理?