React项目中Menu.jsx组件的h1标签无法显示问题求助
问题排查与解决方案
你的Menu组件中<h1>Bonjour !</h1>无法显示,核心原因及解决方法如下:
1. React Router版本语法不兼容(最可能原因)
你代码里用的component={Menu}是React Router v5及更早版本的写法,如果项目安装的是v6+版本,这种写法已被废弃,必须改用element属性传入组件实例,同时需要用<Routes>标签包裹所有路由规则。
修改步骤:
首先在App.jsx中导入Routes:
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
然后替换路由代码:
<Router> <Routes> <Route path="/" element={<Menu />} /> <Route path="/a" element={<InputMdp />} /> <Route path="/b" element={<BtnConnect />} /> <Route path="/c" element={<PanneauAdmin />} /> <Route path="/d" element={<PanneauUser />} /> </Routes> </Router>
2. 组件命名不符合React规范
你的部分组件采用小写开头命名(如btnConnect、panneauAdmin),React会将这类名称解析为原生HTML标签而非自定义组件,导致组件无法正常渲染。
修正方法:
所有自定义组件名称必须首字母大写,同时同步修改文件命名、组件类名及导入语句:
- 将
btnConnect.jsx重命名为BtnConnect.jsx,组件类名改为BtnConnect - 同理,
panneauAdmin.jsx→PanneauAdmin.jsx、panneauUser.jsx→PanneauUser.jsx - 更新App.jsx中的导入:
import BtnConnect from "../components/BtnConnect.jsx"; import PanneauAdmin from "../components/PanneauAdmin.jsx"; import PanneauUser from "../components/PanneauUser.jsx";
额外验证步骤
- 打开浏览器开发者工具(F12)→Console面板,查看是否有React Router相关报错
- 确认Menu组件的文件路径和导出逻辑无误
内容的提问来源于stack exchange,提问作者Olivier Robert Duboille
相关产品推荐
相关产品推荐

