React多页面应用页面无法显示问题求助
我的第一个React项目页面无法显示问题
我正在开发一个对接后端API的多页面React应用,用Vite构建,但所有页面都没法在屏幕上显示。朋友那边代码运行正常,但我拉取他的提交后问题还是存在,除了以下代码,我只修改过CSS文件和另一个页面。
相关代码
App.jsx
import React from 'react'; import { HashRouter as Router, Routes, Route } from 'react-router-dom'; import Login from './pages/Login'; import Main from './pages/Panel'; export default function App() { return ( <Router> <Routes> <Route path="/" element={<Login />} /> <Route path="/app" element={<Main />} /> </Routes> </Router> ); }
pages/Login.jsx
import React from 'react'; export function Login() { return( <> <h1>Login Screen</h1> <h2>Start</h2> <p>AAAAAAAAAAAAAAAAAAAAaa</p> <p>Test</p> </> ) }
main.jsx
import React from 'react' import ReactDOM from 'react-dom/client' import App from './App.jsx' import './index.css' ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> <App /> </React.StrictMode>, )
排查解决方案
- 修正组件导入方式:Login组件是命名导出,但App里用了默认导入,把App.jsx里的
import Login from './pages/Login';改成import { Login } from './pages/Login';,这是最可能的问题点。 - 同步依赖版本:删除本地的
node_modules文件夹和package-lock.json(或yarn.lock),执行npm install重新安装依赖,确保和朋友的依赖版本完全一致。 - 检查入口DOM节点:确认
public/index.html里存在<div id="root"></div>这个元素,没有的话React无法挂载组件。 - 查看控制台错误:按F12打开浏览器开发者工具,看Console面板的报错信息,比如组件未找到、路由配置错误等,快速定位问题。
- 排除CSS干扰:临时注释掉main.jsx里的
import './index.css',测试页面是否能显示,排查是否是CSS设置导致元素被隐藏。
内容的提问来源于stack exchange,提问作者Dilker Winter
相关产品推荐
相关产品推荐

