React嵌套路由组件无法渲染问题求助
嵌套路由组件无法渲染的解决方法
问题出在父路由组件Home中缺少<Outlet />——React Router的嵌套路由要求父组件必须通过<Outlet />指定子路由组件的渲染位置,否则子路由的内容无法显示。
具体修复步骤:
在Home组件中导入并添加
<Outlet />
从react-router-dom导入Outlet,并将其放在Home组件的JSX中,子路由(Route1)的内容会渲染到这个位置。修改后的Home组件代码:
import { Outlet } from 'react-router-dom'; export default function Home() { return ( <> <h1>Home Page</h1> <Outlet /> {/* 子路由组件Route1将在这里渲染 */} </> ); }清理Route1中不必要的
<Outlet />
你的Route1组件目前没有配置子路由,所以里面的<Outlet />是多余的,直接删除即可:修改后的Route1组件代码:
export default function Route1() { return ( <> <h2>Route1</h2> </> ); }
完成以上修改后,访问/route1路径时,Home组件会正常渲染,同时Route1组件会显示在Home的<Outlet />位置,嵌套路由即可正常工作。
内容的提问来源于stack exchange,提问作者max_
相关产品推荐
相关产品推荐

