使用React Router V6时页面空白,请求问题排查
React Router V6 空白页面问题解决
你的代码存在两个核心问题,导致页面无法正常渲染:
Route 组件内容传递方式错误
React Router V6 不再允许直接在<Route>标签内部嵌套内容,必须通过element属性传入要渲染的 React 元素。exact属性已被移除
V6 重构了路由匹配逻辑,Routes组件会自动按优先级匹配最精确的路径,exact属性已被废弃,写了也不会生效。
修改后的 ConceptosBasicos.js 代码如下:
import React from 'react'; import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; const ConceptosBasicos = () => { return ( <div> <h2>Conceptos Básicos</h2> <Router> <Routes> <Route path="/" element={ <> <h3>Home</h3> <p>Bienvenid@s al tema de las Rutas en React</p> </> } /> <Route path="/acerca" element={<h3>Acerca</h3>} /> <Route path="/contacto" element={<h3>Contacto</h3>} /> </Routes> </Router> </div> ); }; export default ConceptosBasicos;
额外提示:如果需要在页面内切换路由,建议使用 React Router 提供的 <Link> 组件替代原生 <a> 标签,避免页面整体刷新。示例:
import { Link } from 'react-router-dom'; // 需要在Router组件范围内使用 <Link to="/">Home</Link> <Link to="/acerca">Acerca</Link> <Link to="/contacto">Contacto</Link>
内容的提问来源于stack exchange,提问作者Leonardo
相关产品推荐
相关产品推荐

