点击访问 上节代码;有点套娃,请耐心查看
然后确定在 index.html 里引入样式代码是这样写的:
About
Home About} />Home} />
点击路由跳转后刷新页面,结果:样式丢失,效果图如下
http://localhost:3000/css/bootstrap.css
http://localhost:3000/xxx/css/bootstrap.css
问题很明显,这个地址下并没有 bootstrap.css 文件,默认返回了 index.html 文件,响应结果如下所示:
【使用绝对路径】index.html 里引入样式代码改成这样:
【使用绝对路径】index.html 里引入样式代码改成这样:
【改用HashRouter】index.js 改成如下:
import React from 'react';
import ReactDOM from 'react-dom/client';
import { HashRouter } from 'react-router-dom'
import App from './App';const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
);
使用HashRouter不管怎么刷新,地址栏都是 http://localhost:3000/#/xxx/about
,# 号前面才是真正的地址,后面都是哈希值,不会拼接到请求地址上,同样避免了上面的问题