React路由配置异常:HomeScreen组件无法渲染显示求助
排查React Router中HomeScreen组件无法渲染的问题
问题核心是react-router-dom v6的路由写法变更,你的代码还在使用v5的配置方式,导致组件无法正常渲染。
问题原因
react-router-dom v6 彻底移除了<Route>组件的component、render属性,改用element属性接收要渲染的组件JSX实例;同时exact属性也不再需要——v6的<Routes>会自动匹配最精确的路径。
修复步骤
修改App.js中的路由配置部分,将component替换为element,并传入组件的JSX形式:
<main className="main"> <div className="content"> <Routes> <Route path="/product/:id" element={<ProductScreen />} /> <Route path="/" element={<HomeScreen />} /> </Routes> </div> </main>
额外检查点
- 确认
package.json中react-router-dom的版本为v6(如果是v5则需改用<Switch>而非<Routes>,并保留component和exact) - 验证HomeScreen组件的默认导出、App.js中的导入路径均正确(你的代码这部分没问题)
- 确保整个应用已被
<BrowserRouter>包裹(你的代码已正确实现)
内容的提问来源于stack exchange,提问作者Monsieur-odw
相关产品推荐
相关产品推荐

