nested-routes 相关问题

嵌套路由允许捕获路由中的关系。

我在使用 createBrowserRouter 时遇到问题。 MainLayout 无法读取 props,我不知道为什么

所有导出/导入工作正常。 MainLayout.js 文件是布局中的唯一文件: 除了“登录”、“注册”和“未找到”之外,所有页面的侧边栏都是固定的。 在文件夹布局中只有 MainLayout.js 合作...

回答 1 投票 0

react router dom 嵌套路由

}> } /> <Route path="/menu" element={<Menu />}> <Route path="featured" element={<Featured />} /> <Route path="previous" element={<Previous />} /> <Route path="favourites" element={<Favourites />} /> <Route path=":categoryId/:menuId" element={<MenuDetail />} /> </Route> <Route path="/menu" element={<Menu />} /> <Route path="/menu/featured" element={<Featured />} /> <Route path="/menu/previous" element={<Previous />} /> <Route path="/menu/favourites" element={<Favourites />} /> <Route path="/menu/:categoryId/:menuId" element={<MenuDetail />} /> 我以为这两个代码做同样的事情,但发现它们不是。第一个是菜单路由下的嵌套路由,第二个只是常规路由。 显然第二个代码就是我想要的。 第一个,当我去的时候 "/menu/featured" "/menu/previous" "/menu/favourites" "/menu/:categoryId/:menuId" 他们都给了我Menu组件,这是我不想要的。所以我不得不尝试第二个代码来实现我想要的。 但是它们不是一样吗? 如果我要使用嵌套路由来实现我想要的目标,我应该如何编写这段代码? 第一个示例 Menu 组件被渲染为布局路线。布局路由组件还应该为其嵌套路由渲染一个 Outlet 组件,以渲染其 element 内容。如果仅渲染 Menu,那么我怀疑您错过了 Outlet。 也就是说,如果您想让两个片段相同,那么您可以将 Menu 渲染为 "/menu" 上渲染的布局路线的索引路线。 示例: <Route path="/menu"> <Route index element={<Menu />} /> <Route path="featured" element={<Featured />} /> <Route path="previous" element={<Previous />} /> <Route path="favourites" element={<Favourites />} /> <Route path=":categoryId/:menuId" element={<MenuDetail />} /> </Route> 这相当于将它们全部单独渲染为完全合格的路由路径。 <Route path="/menu" element={<Menu />} /> <Route path="/menu/featured" element={<Featured />} /> <Route path="/menu/previous" element={<Previous />} /> <Route path="/menu/favourites" element={<Favourites />} /> <Route path="/menu/:categoryId/:menuId" element={<MenuDetail />} />

回答 1 投票 0

Params 嵌套在 Rspec post 请求中的 params 中

我目前正在测试带有 Rspec 请求的嵌套路由的 post 请求。 它的设置如下: 描述 'POST /url_contents' 执行的操作 let!(:role) { create(:role, name: "admin") } 让(:

回答 2 投票 0

如何停止渲染 app.js 中的组件

}> } /> <SideBar /> <Routes> <Route path='/' element={<Body />}> <Route path='/' element={<Home />} /> <Route path='setting' element={<Setting />} /> </Route> <Route path='/service' element={<ServiceLayout />}> <Route path='/service' element={<Service />} /> </Route> </Routes> <Article /> </div> 我不想在服务组件中渲染文章组件。我怎么做?请帮助我。 Article组件无条件在路由内容下渲染。 <div className='App'> <SideBar /> <Routes> <Route element={<Body />}> <Route path='/' element={<Home />} /> <Route path='setting' element={<Setting />} /> </Route> <Route path='/service' element={<ServiceLayout />}> <Route index element={<Service />} /> </Route> </Routes> <Article /> // <-- always rendered! </div> 简单的解决方案就是从 JSX 中删除 Article: <div className='App'> <SideBar /> <Routes> <Route element={<Body />}> <Route path='/' element={<Home />} /> <Route path='setting' element={<Setting />} /> </Route> <Route path='/service' element={<ServiceLayout />}> <Route index element={<Service />} /> </Route> </Routes> {/* <Article /> removed */} </div> 但这可能不是您真正想要的。另一种选择是有条件地在路线上渲染它。 示例: <div className='App'> <SideBar /> <Routes> <Route element={<Body />}> <Route path='/' element={<Home />} /> <Route path='setting' element={<Setting />} /> </Route> <Route path='service' element={<ServiceLayout />}> <Route index element={<Service />} /> </Route> </Routes> <Route path='article' element={<Article /> } /> // <-- only on "/article" path </div>

回答 1 投票 0

使用 Next.js 进行 3 级嵌套动态路由

我正在尝试在我的下一个 js 应用程序中实现 3 级动态路由。到目前为止我只获得了2级动态路线。所有数据均来自无头 CMS。我正在使用 graphlQL 到目前为止我...

回答 2 投票 0

嵌套路由在部署到 Netlify 的 React 应用程序中不起作用

在部署在 main--fascinating-melba-bd8f4d.netlify.app 的 React 应用程序中,我使用的是 React-router-dom,但我无法让嵌套路由正常工作。子路线应该只是

回答 1 投票 0

Express App - 使用 ES 模块创建嵌套路由

我已按照教程使用 API 创建 Express 应用程序。教程完成后,我现在尝试将其从 CommonJS 转换为 ES 模块。我尝试查找诸如 Exp 之类的资源...

回答 1 投票 0

Flutter:嵌套路由脚手架不显示后退导航

我想在 Flutter 中利用嵌套路由。我想除了一件事之外我已经做到了我想要的。我的嵌套“主页”路线不会在 AppBar 中显示后退导航,但是硬件按钮...

回答 3 投票 0

Rails 删除后路径被分配给 GET 方法而不是 DELETE

在我关联评论和帖子后,post_delete_path 在调用时开始发送 GET 请求而不是删除请求,显示以下错误: 在我关联评论和帖子后,post_delete_path 在调用时开始发送 GET 请求而不是删除请求,显示以下错误: routes.erb 文件: Rails.application.routes.draw do #get 'posts/index' resources :posts do resources :comments, only: [:destroy, :create] end get '/delete_post', to: 'posts#destroy' resources :likes, only: [:destroy, :create] resources :sessions, only: [:create, :destroy] get 'sessions/new' get 'sing_in', to: 'sessions#new' get 'sign_out', to: 'sessions#destroy' resources :users, only: [:create, :destroy] get 'users/new' get '/register', to: 'users#new' root 'posts#index' end 帖子控制器: class PostsController < ApplicationController before_action :ensure_user before_action :correct_user, only: [:edit, :update, :destroy] def index @posts = Post.all.order("created_at DESC") end def show @post = Post.find(params[:id]) end def new @post = current_user.posts.new end def create @post = current_user.posts.new(post_params) if @post.save redirect_to post_url(@post) else render 'new', notice: "Couldn't create the post!" end end def edit @post = set_post end def update @post = current_user.posts.find(params[:id]) if @post.update(post_params) redirect_to post_url(@post) else redirect_to post_url(@post), notice: "Couldn't update the post!" end end def destroy @post = current_user.posts.find([params[:id]]) if @post.destroy redirect_to posts_path, notice: "Post has been deleted!" else redirect_to post_url(@post), notice: "Couldn't delete the post!" end end private def correct_user @post = current_user.posts.find_by(id: params[:id]) redirect_to root_path, notice: "You are not authorized to edit this post!" if @post.nil? end def set_post return Post.find(params[:id]) end def post_params params.require(:post).permit(:title, :content) end end 帖子视图中显示文件中的删除按钮: <%= button_to 'Delete', delete_post_path(@post), method: :delete %> 即使在路由文件中指定了它,也不会显示使用 DELETE 请求删除帖子的路由: 我尝试在帖子资源下的路由中指定删除路径,但它使用 GET 方法而不是 DELETE 显示新路径。 resources :posts do resources :comments, only: [:destroy, :create] get '/post_delete', to: 'posts#destroy' end resources :posts do resources :comments, only: [:destroy, :create] end get '/post_delete', to: 'posts#destroy' 另外,我尝试在button_to和link_to之间切换,尽管这没有帮助。 我不确定我是否理解了这一点,您正在输入 get "/a/path", to: "controller#action" 并想知道 为什么要创建 GET 路由? 你会踢自己的: delete '/post_delete', to: 'posts#destroy' 但这里真正的问题是为什么你不使用 resources :posts 中的删除路由?然后你只需使用: button_to 'Delete', @post, method: :delete

回答 1 投票 0

React Router Dom v6 中的嵌套路由

在 React 中。 我有一个名为“父组件”的组件。它有两个部分。固定的组件显示在屏幕右侧,屏幕左侧是组件...

回答 1 投票 0

React Router 带有搜索参数的嵌套路由

在带有搜索参数的嵌套 React 路由中,当我位于 /app 上并单击导航到 /app/user 的链接后。导航不起作用。 如果我在没有嵌套的情况下尝试它,它正在工作......

回答 1 投票 0

useNavigate 无法使用按钮单击(“将循环结构转换为 JSON”错误)

我正在尝试使用 GitHub 上的 electron-react 样板创建一个桌面应用程序,目前,我正在尝试为我打算用于该应用程序的多个页面创建路由。我查了一下...

回答 1 投票 0

我可以在 Remix 中为单个 URL 处理多个加载器吗?

目前我有一个包含多个部分的登录页面,它是使用 Remix.run 构建的。这些部分是同一 url 的一部分,它们在同一页面中垂直并排显示。 我的概率...

回答 2 投票 0

Laravel 10 - UnexpectedValueException - 无效的路由操作,如何在路由命名空间中设置路由命名空间

我已将我的 Laravel 应用程序升级到版本 10,但在设置带有命名空间的路由时遇到了问题。在以前的 Laravel 版本中,我在 routes/web.php 中使用了以下代码

回答 1 投票 0

在 Flutter Go_Router 中,使用路由到 ShellRoute 的 replace 命令无法正常工作

我正在尝试制作一个具有初始页面和嵌套路由页面的应用程序。 为此,我使用了 go_router 库。 这是我的代码。 导入“包:flutter/material.dart”; 导入'包:go_rou ...

回答 0 投票 0

Angular 2 - 在路由之间导航时音频播放器组件被破坏

我正在为音乐团体开发一个网站。它的组件之一是音频播放器。如果用户激活音频播放器,无论用户是否更改路径,我都需要激活它。 玩家是

回答 1 投票 0

嵌套路由隐式绑定 Laravel 返回 404

所以,这是我的代码。 网站.php 路线::得到( "/research/{research}/sub-research/{sub-research}", 功能(研究$research,SubResearch $subResearch){ dd($研究,$

回答 0 投票 0

我的 NextJS 服务器因嵌套动态路由而崩溃

所以我对 NextJS 领域还很陌生,我之前使用的是普通的 React,但我发现需要 ISR,所以我来到 NextJS,因为它到目前为止是一个很好的过渡。 我所拥有的是以下

回答 0 投票 0

react router dom 6.8.1 嵌套路由

我做错了什么? 为什么不去页面/block/:blockNumber/transactions 不断的打到页面/block/:blockNumber 我以不同的方式尝试过,但我不明白为什么它不...

回答 0 投票 0

在React Router v5上无法打印嵌套路由的子组件。

我似乎不知道如何在React Router v5中打印子路由。 以下是我如何设置我的应用程序。1)index.jsx ReactDOM.render(

回答 1 投票 1

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