我在我的React Router
应用中使用ReactJs
v4,看起来每当我有一个带有ID的路径时,React Router
都没有处理它,因为我看到页面刷新我在这个过程中丢失了Redux
商店中的所有数据。
这是我的路线部分:
<Switch>
<Route exact path="/member" component={Home} />
<Route exact path="/member/accounts" component={Accounts} />
<Route path="/member/projects/profile/:id" component={ProjectProfile} />
</Switch>
以下是我如何生成链接。这是用户点击时的链接,我在浏览器上看到刷新。
import { Link } from 'react-router-dom';
... omitted for brevity
const profileUrl = "/member/projects/profile/" + project.id;
<Link to={profileUrl}>Click here</Link>
我的路线中定义的其他链接工作正常,例如家和帐户。
我在这里做错了什么?
答案 0 :(得分:0)
您是否将onClick
事件处理程序传递给Link
组件?
如果是这样,请确保处理程序的一切正常。您可以尝试暂时删除它,以便调试刷新。
致谢:
答案 1 :(得分:0)
经过大量测试后,我找到了原因。每当链接到组件时,我们必须使用list
或NavLink
{/ 1}}。
我注意到在我的应用中使用Link
并不一致。相反,我使用常规
react-router-dom
。
切换到使用NavLink
后,它按预期工作。