使用react-router-dom页面空白,多种尝试无效求排查
解决react-router-dom页面空白问题
你的代码核心问题是没有用Routes组件包裹Route——react-router-dom v6及后续版本强制要求所有Route必须放在Routes组件内部,否则路由规则不会生效。另外你之前尝试的Switch在v6里已被Routes替代,exact属性也不再需要,因为Routes会自动匹配最精确的路径。
修改步骤:
- 先导入
Routes组件:
import { Route, BrowserRouter, Routes } from "react-router-dom"
- 调整路由结构,保留全局的Header和Footer,页面内容按路由拆分:
function App() { return ( <div> <BrowserRouter> <Header /> <div className="App"> <Routes> {/* 根路径显示搜索栏和Apps组件 */} <Route path="/" element={ <> <SearchBar placeholder="Enter App Name..." data={BookData} /> <Apps /> </> } /> {/* /games路径显示Games组件 */} <Route path="/games" element={<Games />} /> </Routes> </div> <Footer /> </BrowserRouter> </div> ) }
额外检查:
如果修改后仍有空白,建议单独测试Header、Apps、Games等组件是否能正常渲染——比如直接在App里只渲染<Games />,排查组件自身是否存在渲染问题。
内容的提问来源于stack exchange,提问作者Arian
相关产品推荐
相关产品推荐

