使用react-router无内容显示:嵌套路由及App组件渲染问题求助
React Router配置后App组件不显示,添加Link后渲染失败的解决方法
核心问题定位
你的代码里最关键的错误是App组件的导入路径不匹配:
在index.js中你写的是import App from './App';,但实际App组件文件放在routes/app.js目录下,路径错误导致组件无法被正确加载,所以App内容完全不显示;当你添加Link组件时,这个导入错误会直接触发组件渲染失败。
解决步骤
修正App组件的导入路径
将index.js中的导入语句修改为:import App from './routes/app'; // 匹配实际文件位置确认文件结构一致性
确保你的文件结构和导入路径对应:src/ ├── index.js └── routes/ ├── app.js └── products.jsx验证react-router-dom版本
你使用的Routes、Outlet都是react-router-dom v6的API,确保你的依赖版本是v6系列,可以通过终端执行npm list react-router-dom查看版本,若版本过低,执行npm install react-router-dom@latest更新。
修正后的完整index.js代码
import React from 'react'; import ReactDOM from 'react-dom/client'; import { BrowserRouter, Routes, Route } from "react-router-dom"; import App from './routes/app'; import Products from './routes/products'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <BrowserRouter> <Routes> <Route path="/" element={<App />}> <Route path="products" element={<Products />} /> </Route> </Routes> </BrowserRouter> </React.StrictMode> );
修改完成后,App组件就能正常渲染,点击Link也能跳转到Products页面了。
内容的提问来源于stack exchange,提问作者great coconut
相关产品推荐
相关产品推荐

