错误:无效的钩子调用。钩子只能在函数组件的主体内调用。通过 React 中的路由
2022-01-05
356
我是 React 的新手,正在尝试做一些路由。
我试图在 React 中实现路由以重定向到另一个页面,但每次我插入时,它都会显示错误:无效的钩子调用。
这是来自 App.js 的代码
import React from 'react';
import './App.css';
import Nav from './Nav';
import EKGSim from './EKGSim';
import { BrowserRouter as Router, Routes, Route} from 'react-router-dom';
function App() {
return(
<Router>
<div className='App'>
<Nav />
<Routes>
<Route path="/ekgsim" element={<EKGSim/>} />
</Routes>
</div>
</Router>
)
}
export default App;
有人能告诉我问题出在哪里吗? 我花了几个小时寻找解决方案,但一无所获。 任何帮助都将不胜感激!谢谢
Nav.js 的代码
import React from 'react';
import './App.css';
function Nav(){
return(
<nav>
<h3>Home</h3>
<ul className='nav-links'>
<li>Was Ist EKG?</li>
<li>EKG Component</li>
<li>EKG Simulator</li>
</ul>
</nav>
);
}
export default Nav;
和 EKGSim.js 的代码
import React from 'react';
import './App.css';
function EKGSim(){
return(
<div>
<h1>EKG Simulator
</h1>
</div>
);
}
export default EKGSim;
2个回答
您需要在
Routes
内使用
Route
尝试这个
function App() {
return (
<Router>
<div className="App">
<Routes>
<Route path="/ekgsim" element={<EKGSim/>} />
</Routes>
</div>
</Router>
);
}
Vishnu Sajeev
2022-01-05
问题解决了!
我只需运行此命令
npm install --save react-router-dom
它就可以完美运行!
我认为问题在于我的 package.json 中没有 react-router-dom。
感谢大家的回答!
Reynald Jhonson
2022-01-06