react-router v6.4中'Outlet'未定义问题及正确定义方法
React Router v6.4 解决 'Outlet' is not defined 报错的方法
报错原因很明确:你没有从react-router-dom中导入Outlet组件。Outlet是React Router用于渲染嵌套路由子组件的核心组件,必须显式导入才能使用。
修改步骤:
- 在Layout组件文件顶部添加
Outlet的导入语句:
import { Outlet } from 'react-router-dom';
- 确保同时导入你的
Navbar和Footer组件(路径根据实际项目结构调整),完整代码如下:
import { Outlet } from 'react-router-dom'; import Navbar from './Navbar'; import Footer from './Footer'; function Layout() { return ( <div> <Navbar /> <Outlet /> <Footer /> </div> ); } export default Layout;
补充说明:
在React Router v6及更高版本(包括v6.4)中,所有路由相关组件(如Outlet、Route、BrowserRouter等)都需要从react-router-dom包中单独导入,不再支持旧版本的批量导出方式。
内容的提问来源于stack exchange,提问作者Sahetmyrat Kakajanov
相关产品推荐
相关产品推荐

