【发布时间】:2021-02-07 18:11:43
【问题描述】:
我有一个包含一堆链接的 popOver:
这是实现它的代码:
<PopoverBody>
<div>
{heart_users_profile_handles.map((heart_user) => (
<div>
<Link
onClick={() => {
this.props.history.push(
`profile/${heart_user.handle}`
);
}}
>
<small>{heart_user.handle}</small>
</Link>
<br />
</div>
))}
</div>
</PopoverBody>
问题在于,当用户单击其中一个链接时,他们并没有被重新路由到它们,而是在浏览器 URL 上连接起来,什么也没有发生:
网址原本是这样的:
http://localhost:3000/profile/HamadiAgerbi
在第一个链接上单击一次后,会发生这种情况:
http://localhost:3000/profile/profile/AhmedGhrib
点击第二个链接后会发生这种情况:
http://localhost:3000/profile/profile/profile/BarchaHob0
等等等等。
知道是什么原因造成的吗?
【问题讨论】:
-
两件事——你为什么使用history.push?你不能只使用链接吗?这将允许您仍然使用映射,但会解决我认为的问题。其次,你的 React Router 路由是什么样的(假设你正在使用)?
标签: javascript reactjs react-router react-router-dom reactstrap