我在react 路由中使用嵌套路由,当我使用redirect重定向到子路由时,父加载器首先加载.当我重定向时,我想忽略父加载程序.这个是可能的吗?

我try 为子路由添加加载器,但父加载器在重定向时首先加载.

代码如下所示:

path: ':gameId',
id: 'game-details',
loader: gameDetailsLoader,
children: [
  {
    index: true,
    element: <GameDetailsPage />,
    action: gameDetailsAction
  },
  {
    path: 'completion',
    element: <CompleteEventPage />,
    action: completeAction
  },
  {
    path: 'postDelete',
    element: <PostDeletePage />,
    loader: privateRouteloader
  }
]

当我使用redirect重定向到"postDelete"路径时,gameDetailsLoader首先加载,我想跳过这一步.

在GameDetailsPage中,我有加载器:"gameDetailsLoader"和action:"gameDetailsAction".Im redirecting from the "gameDetailsAction" to postDelete path. The action deletes some content and here I face the issue. When IM重定向到postDelete页面,Reaction路由首先加载作为父加载程序的"gameDetailsLoader".因为Ive deleted some content Im无法再从服务器获取此数据,因此收到错误.我只是想知道是否有一种方法可以跳过父加载器,但是我无法通过为postDelete元素创建另一个路径来解决这个问题,然而在这个场景中嵌套路由似乎是符合逻辑的方法.

推荐答案

在任何"/:gameId/*"路由上都会呼叫gameDetailsLoader.

如果您希望在"/:gameId"路径上调用gameDetailsLoader加载程序函数102,则将其移动到特定的路径.

path: ':gameId',
id: 'game-details',
children: [
  {
    index: true,
    element: <GameDetailsPage />,
    loader: gameDetailsLoader, // <--
    action: gameDetailsAction
  },
  {
    path: 'completion',
    element: <CompleteEventPage />,
    action: completeAction
  },
  {
    path: 'postDelete',
    element: <PostDeletePage />,
    loader: privateRouteloader
  }
]

Reactjs相关问答推荐

是否可能有不同的加载器用于路径有查询参数和没有查询参数,或者在React Router 6中添加它们时有条件地跳过一个加载器?

如何使用Reducer更新全局变量

如何使数据库数据在第一次呈现时显示?

如何使图像zoom 并移动到点击点

在transformResponse中使用来自其他查询的缓存

阻止组件更新的多分派Redux Thunk或setState是否有任何问题

取消 Select 较高组件中的所有行

根据用户 Select 的注册类型更改表单字段

如何在一个 Next.js 项目中使用两种布局?

React Router 6 点击链接在 React 18 应用中打开 flickr 页面

React - 将一个充满空值的无限大小的数组存储在 ref 中是否可以,或者我应该重置数组吗?

如何在悬停时更改 MUI 卡内容

我收到Uncaught TypeError: props.handleSelect is not a function

next js 13 在获取中使用标头时动态渲染而不是静态渲染?

docker:来 automorphic 护进程的错误响应:未指定命令.的原因是什么?

Reactjs 表单未反映提交时的更改

如何向 surveyjs 调查添加多个结尾?

React Native - 身份验证 - 触发值以更改 Auth 和 UnAuth 堆栈导航器

vdom 最终更新了 dom(在比较之后)任何 dom 更改实际上应该触发整个树的重绘和回流,那么 vdom 有什么用?

在 React 中访问作为 prop 传递的状态变量