在React中,当单击<Link>
元素时,react-router-dom
不会刷新页面。
具体来说,在制作如下链接时(Button
元素只是一个带样式的按钮,代码已经简化):
import { Route, Routes, Link } from "react-router-dom";
import Stats from "./pages/Stats";
<div className="pt-5 pl-24">
<Button orange>
<Link to="/stats">Start Taking Stats</Link>
</Button>
</div>
<Routes>
<Route path="/stats" element={<Stats />} />
</Routes>
看看其他论坛,它说添加一个onClick
来刷新页面,如下所示:
<Link to="/stats" onClick={() => window.location.reload()}>
Start Taking Stats
</Link>
然而,这并不起作用,因为当点击按钮时,页面刷新而不改变内容。地址栏改变几毫秒,但随后立即返回到原始路径。
此警告也显示在主页上。
No routes matched location "/"
Stats.jsx
文件位于<project root>/src/pages/Stats.jsx
。其内容如下。
function Stats() {
return (
<>
<h1>Hello</h1>
<p>world</p>
</>
);
}
export default Stats;
有没有什么要做的任何文件,或安装任何包,让这个工作?
1条答案
按热度按时间e5nqia271#
这可能是因为您尚未定义属于
/
的home
路由,也可能是因为您缺少exact
。请删除onClick
方法。请尝试以下操作之一: