Lau*_*ris 5 javascript frontend reactjs react-router
我有以下路线"/event/:eventId"
当用户从主页点击卡片时,它会重定向到活动页面(到目前为止一切正常)
但在事件页面内部,我有其他卡重定向到具有不同 ID 作为路由参数的其他事件页面,然后单击然后仅更改路径,但不会重新呈现页面。
看来,如果我位于具有相同路径名的页面中,无论路由参数发生变化,它都不会重新渲染页面。
我尝试使用<Link>组件代替history.push但它也不起作用。
这就是重定向功能:
const onCardClick = () => {
history.push(
EVENT_PAGE_LOCATION.toUrl({
eventId: event?.id,
}),
);
};
Run Code Online (Sandbox Code Playgroud)
事实证明,页面正在重新渲染,但它们没有被卸载并再次执行 graphql 查询。
所以这是一件重要的事情,React Router 不会卸载页面。
每次参数更改时我都必须重新获取查询:
useEffect(() => {
refetchEvent()
}, [params])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6001 次 |
| 最近记录: |