react-router-dom 相关问题

使用此标记可以了解有关DOM使用和React Router v4绑定的问题。

在 React Router 中重定向所有没有根文件夹的路径匹配

我正在使用react-router-dom版本6.3.0,我试图让我的路由器处理更新的URL结构。 例如,我的旧路线如下所示: 我正在使用 react-router-dom 版本 6.3.0,我正在尝试让我的路由器处理更新的 URL 结构。 举个例子,我的旧路线如下所示: <Route path='animals/dog' element={<Dog />} /> <Route path='animals/cat' element={<Cat />} /> <Route path='animals/bird/songs' element={<BirdSongs />} /> 我希望它们在没有根文件夹的情况下自动重定向animals: <Route path='dog' element={<Dog />} /> <Route path='cat' element={<Cat />} /> <Route path='bird/songs' element={<BirdSongs />} /> 所有内容都需要重定向到之前所在的位置,但我不想在我的应用程序中为每个可能的Route手动编写重定向。 React Router 可以做到这一点吗?在我的情况下,我无法使用 .htaccess 或 301 重定向。它必须发生在 React Router 本身中。 似乎已经回答了:https://stackoverflow.com/a/43533070/14258470 希望这有帮助! 如果这不是您正在寻找的答案,请提供更多背景信息,我会调整我的答案以更好地适应OP。

回答 1 投票 0

如何扩展路线组件以合并自定义道具?

我希望通过自定义属性来增强react-router-dom的路由。每个路由都应包含一个“名称”属性,该属性将作为显示在页面顶部的描述。 理想情况下,我...

回答 1 投票 0

使用react-router v6我需要一个导航栏永久存在,但无法在我的索引页面上同时显示<App/>和<Home/>,如何修复?

我正在用React重建我的个人网站,并决定使用最新版本的react-router-dom,我正在构建我的应用程序组件来包含导航栏,然后在我想要的内容下面

回答 3 投票 0

当我重新加载页面时,useLocation 挂钩有错误

我使用useLocation从url获取数据,第一次工作正常。但是当我重新加载页面时,位置的字符串搜索将包含编码字符串。 这是 useLocation 钩子的作用吗? 第一次加载 一个...

回答 1 投票 0

react router dom v6 在 RouterProvider 中包含一个组件

我目前正在使用react-router-dom v6,但在路由器组件中包含必要的组件时遇到了麻烦,因为我没有使用BrowserRouter,而是将RouterProvider与createBrowser一起使用...

回答 1 投票 0

React.js 中使用 useParams 的未定义参数

我遇到了一个问题,尽管在我的 React 应用程序中配置了路由并正确使用了 useParams() ,但参数 language、from 和 to 都记录为未定义。设置我...

回答 1 投票 0

当 vite build 在生产环境中反应时,无法分配给对象“#<Object>”的只读属性“_status”

我尝试通过vite构建React PWA。在开发中一切正常,但在生产模式上显示标题错误。 我猜是不是react、react-router-dom、vite的版本不兼容...

回答 1 投票 0

无法使用路由器重定向到不同页面以在单击按钮时做出反应

我试图通过单击其中一个卡片组件上的按钮重定向到不同的页面。单击浏览器中的按钮后,ulr 会发生变化,但我不会被重定向。 这就是阿普...

回答 1 投票 0

运行 Vite 和 React-route-dom 的 Webstie 无法从正确的 URL 加载资源

我有一个使用react-router-dom运行的vite应用程序。我有一个问题,如果我导航到一个页面,它一切都会加载正常,但是如果我将网址复制并粘贴到另一个窗口中,它无法加载一些资源...

回答 1 投票 0

如何使一个组件既是 BrowserRouter 的子组件又是 React Router v6 中所有路由的父组件(函数语法)?

在React Router v6中,您可以使用组件来定义路由器,如下所示: 导出默认 () => ( ... 在 React Router v6 中,您可以使用组件来定义路由器,如下所示: export default () => ( <BrowserRouter> <MyProvider> <Routes> ... </Routes> </MyProvider> </BrowserRouter> ); 其中 MyProvider 组件能够包装所有路由,同时也是 BrowserRouter 组件的子组件(因此它能够使用像 useNavigate() 这样的 React Router 钩子)。 但是如何使用函数语法复制它,即 const router = createBrowserRouter([ ... ]); export default () => ( <RouterProvider router={router} /> ); 创建一个渲染提供程序组件的布局路由,并将 Outlet 作为其子组件,并且它包装的所有嵌套路由都将渲染到它提供的上下文下的插座中。 示例: const MyProviderLayout = () => ( <MyProvider> <Outlet /> </MyProvider> ); const router = createBrowserRouter([ ... { element={<MyProviderLayout />} children: [ ... routes that access the `MyProvider` context ... ], }, ... other routes ... ]); export default () => ( <RouterProvider router={router} /> );

回答 1 投票 0

React Router V6 设置

我正在使用 React.js 开发一个小型电子商务应用程序。 在设置路由器 v6 应用程序时,没有任何渲染。即使在 App.js 或 Index.js 中配置路由器也应该有错误。她...

回答 2 投票 0

React Router <Navigate>执行不需要的导航

如果用户输入 /movies 路径,浏览器应重定向到 /movies/trending (这是有效的),我这里有这段代码。但是如果用户输入 /movies/popular,用户应该看到 MoviesPopular,但它

回答 1 投票 0

嵌套路由不起作用(React Router v6)

在互联网上浏览了一段时间后,我无法弄清楚为什么我的嵌套路由不起作用。 索引.js 12 13 ...

回答 3 投票 0

React router v6 中的replace: true 不会替换历史记录中的最后一个条目

以下代码不会替换历史堆栈中的最后一项: // 在某个组件内部 常量导航 = useNavigate() // 在钩子或点击处理程序内 导航('/someroute',{替换:...

回答 2 投票 0

如何使用 React Router 创建响应式主细节应用程序?

我在Github上为我的问题准备了一个简单的测试用例: 在 RouterLayout.jsx 中,媒体查询使 Outlet 在狭窄的屏幕上消失,正如您在动画屏幕截图中看到的那样,我在其中绘制了...

回答 2 投票 0

React 路由器加载程序行为

我目前正在深入研究React Router,并且我已经设置了我的路由结构,如下所示: const 路由器 = createBrowserRouter([ { 小路: ”/”, 加载器:rootLayoutLoder,...

回答 1 投票 0

为什么在react router dom中调用useActionData()时不是对象解构?

当我调用 useActionData() 时,我没有得到任何对象销毁。当我打印到控制台时,我得到名称:“isakGo”。代码看起来像这样 导出异步函数操作({request}) { 常量形式Da...

回答 2 投票 0

React 多端点获取数据并渲染结果

我正在做一个React.js项目。我正在从具有不同端点的 API 获取数据。我有一个组件,我通过其父级的 props 从该 API 的端点传递数据。另外,在那个com上...

回答 1 投票 0

无法在React Router DOM中使用redirect()进行重定向

我的主机组件中有一个 loader 道具,如下所示 } loader={async () => 等待 requireAuth()}> 首先,加载程序将加载,然后...

回答 1 投票 0

语法错误:不提供名为“useHistory”的导出

我尝试使用 useHistory hook 来保护 ReactJs Vite 应用程序中的路由,但收到错误: 未捕获的语法错误:请求的模块 '/node_modules/.vite/deps/react-router-dom.js?v=

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.