此问题在此处已有答案:
React Router V6 - useNavigate() may be used only in the context of a component(2个答案)
2天前关闭。
下面是我的代码。
错误:useNavigate() may be used only in the context of a <Router> component.
我的代码:
import { BrowserRouter, Route, Routes, useNavigate } from 'react-router-dom';
import MyNav from "./MyNav";
import Login from "./routes/Login"
function App() {
const navigate = useNavigate();
return (
<div className="App">
<MyNav />
<BrowserRouter>
<Routes>
<Route path="/login" element={<Login />} />
</Routes>
</BrowserRouter>
</div>
);
}
export default App;
我试图移动登录页面,但我得到了错误。我用Routes和BrowserRouter将我的组件 Package 在Route中。为什么useNavigate()函数在我的React中不起作用?
1条答案
按热度按时间shyt4zoc1#
关于这个问题的问题是,你必须用BrowserRouter Package 这个组件,因为你正在这个组件中创建BrowserRouter上下文,你不能在这个上下文之外使用这个钩子。
你可以检查的最后一个代码是:
现在您可以在组件中使用
useNavigate