React Router Dom v6浏览器端组件不加载问题求助
解决react-router-dom v6路由不加载组件的问题
核心问题
react-router-dom v6 彻底改变了Route组件的用法,不再支持将组件直接嵌套在<Route>标签内部,必须通过element属性传入要渲染的JSX内容。你的代码就是因为未使用element属性,导致路由无法加载对应组件。
修正后的代码
import React from 'react'; import './App.css'; import Header from './Header'; import Sidebar from './Sidebar'; import RecommendedVideos from './RecommendedVideos'; import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; function App() { return ( <div className="app"> <Router> <Header /> <Routes> {/* 给search路由添加element属性,替换为你实际的Search组件即可 */} <Route path='/search' element={<div>搜索页面</div>} /> {/* 根路由通过element传入要渲染的内容 */} <Route path="/" element={ <div className='app-page'> <Sidebar /> <RecommendedVideos /> </div> } /> </Routes> </Router> </div> ); } export default App;
额外检查点
- 确保所有组件(Header、Sidebar等)都正确使用
export default导出,且导入路径无误 - 如果需要处理未匹配的路由,可以添加通配符路由:
<Route path="*" element={<div>404 页面未找到</div>} /> - 确认react-router-dom已正确安装为v6版本,可通过
npm list react-router-dom命令查看版本
内容的提问来源于stack exchange,提问作者Nouman Islam
相关产品推荐
相关产品推荐

