当我们使用多级路由如
<Switch>
<Route path="/golo/home" component={Home}/>
<Route path="/golo/about" component={About}/>
</Switch>
自定义的路由组件
<Mynavlink to="/golo/home">HOME</Mynavlink>
<Mynavlink to="/golo/about">ABOUT</Mynavlink>
这种情况下,如果引入的样式方式是以“./”的形式,那么在刷新页面后引入的样式会丢失,原因是
当刷新页面后,引入的样式文件路径会把golo也当成路径的一部分,有趣的是请求依旧会是成功的
也能回来数据,只是会来的数据已不再是样式文件里的东西,而是public下的index.html
解决办法:一、“./”改成绝对路径引入“.”去了,或者写入“%PUBLIC_URL%” 也是public的绝对路径(只适用react脚手架启动的项目)
二、改用hash模式,因为hash模式下请求文件时当看到“#”时后面的东西不再看,管你是什么
<BrowserRouter>
<App/>
</BrowserRouter> 改成
<HashRouter>
<App/>
</HashRouter>,一般不用 ,因为地址栏丑,个人觉得挺好看,,
三、http://形式引入