You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Router 6跳转页面数据未更新的问题及解决方法

React Router 6 跳转页面后自动重新调用 Loader 加载最新数据的解决方案

我在编辑页面设置了返回个人资料页面的按钮,代码如下:

<Button handleClick={()=>{navigate(-1)}} >Finished</Button>
OR
<Button handleClick={()=>{navigate('/userprofile/view')}} >Finished</Button>

点击按钮后页面能正常打开,但显示的是旧数据,必须手动刷新浏览器才能加载更新后的内容。请问在 React Router 6 中,如何实现跳转后自动刷新页面,也就是重新调用对应的 loader 方法?

更新:我的浏览器路由配置如下

const router=createBrowserRouter([
  {
    path:'/',
    element: <MainHeader  />,
    errorElement:<Error/>, 
    id:'root',
    loader:tokenLoader,
    action:actionLogin(ctx),
    children:[
        {index:true, element:<Home  />, loader:()=>loaderHome(numPerPage) },
        {path:'userprofile', id:'userprofileview', loader:loaderUserProfileView,
        children:[
          {index:true, path:'view', element:<UserProfileView/>, 
            loader:checkAuthLoader, action:actionUserAccountDelete },
          {path:'edit', element:<UserProfileEdit/> }
        ] 
      },
      {path:'logout', loader:actionLogout(ctx), action:actionLogout(ctx)}
    ]
  }
])

更新:问题已解决,分享给遇到相同问题的开发者
在父路由userprofile中设置shouldRevalidate: () => true后,使用<Button handleClick={()=>{navigate('/userprofile/view')}} >Finished</Button>按钮跳转时,个人资料页面会自动获取最新数据。修改后的路由配置如下:

const router=createBrowserRouter([
  {
    path:'/',
    element: <MainHeader  />,
    errorElement:<Error/>, 
    id:'root',
    loader:tokenLoader,
    action:actionLogin(ctx),
    children:[
        {index:true, element:<Home  />, loader:()=>loaderHome(numPerPage) },
        {path:'userprofile', id:'userprofileview', loader:loaderUserProfileView, shouldRevalidate:()=>true,
        children:[
          {index:true, path:'view', element:<UserProfileView/>, 
            loader:checkAuthLoader, action:actionUserAccountDelete },
          {path:'edit', element:<UserProfileEdit/> }
        ] 
      },
      {path:'logout', loader:actionLogout(ctx), action:actionLogout(ctx)}
    ]
  }
])

内容的提问来源于stack exchange,提问作者D. Rattansingh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 03:06:00