重定向到相同路径名但具有不同路由参数时,History.push不起作用

劳拉·比阿特丽斯(Laura Beatris)

我有以下路线 "/event/:eventId"

当用户从首页进入然后点击即时贴时,它会重定向到事件页面(到目前为止一切正常)

但是在事件页面内部,我还有其他卡可以重定向到具有不同ID的其他事件页面作为路由参数,然后单击然后仅更改路径但不会重新呈现该页面。

看来,如果我在具有相同路径名的页面中,则路由参数是否更改都没有关系,它不会重新呈现该页面。

我尝试使用<Link>组件代替,history.push但是它也不起作用。

那就是重定向功能:

 const onCardClick = () => {
    history.push(
      EVENT_PAGE_LOCATION.toUrl({
        eventId: event?.id,
      }),
    );
  };


劳拉·比阿特丽斯(Laura Beatris)

因此,事实证明页面已被重新渲染,但是并没有被卸载并且为了再次执行graphql查询。

所以这很重要,React Router不会卸载页面

每当参数更改时,我都必须重新获取查询:

useEffect(() => { 
 refetchEvent()
}, [params])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么 history.push 在“/”路由中不起作用?

登录功能后 history.push 不起作用

history.push在获取回调中不起作用

没有显示任何错误,“ push”不起作用

为什么带有push的git别名不起作用?

带有解析的android push通知不起作用

History.push在BrowserRouter上起作用,但在Router上不起作用

参数不起作用

重定向不起作用?

如果我的基本路由相同,histroy.push()在React Router中不起作用

this.props.history.push在某些组件中起作用,而在其他组件中则不起作用

VUE路由器:更新查询时this。$ router.push不起作用

Angular2 + redirectTo重定向到具有canActivate的链接时不起作用

为什么重定向到特定路由不起作用?

Laravel 重定向到路由不起作用?

重定向到Laravel 5中不起作用的路由

根据提供的路径重定向到操作不起作用

如何在Vue.js中对相同路径、不同查询参数使用router.push

使用 history.block 后 history.push 不起作用

在 React 中,“history.push('/')”在某些组件中不起作用

重定向到不同域中的相同路径

_spBodyOnLoadFunctionNames.push 在保存共享点站点时不起作用

git push 对 gitlab (mingw) 不起作用——如果 ssh 工作有什么问题?

Android模拟器“ adb push”不起作用(没有此类文件或目录)

AngularJS路由不起作用

AngularJS路由不起作用

WebAPI路由不起作用

AngularJS路由不起作用

Codeigniter路由不起作用