React的路由模式
路由配置是一组命令,用来告诉Router如何匹配URL以及匹配后如何执行代码,而不会去请求服务器,所以作用和计算机网络的交换机路由功能类似:根据某个条件,做某个事情。
React路由模式有五种:
- BrowserRouter:浏览器的路由方式,也就是在开发中最常用的路由方式
- HashRouter:在路径前加入一个“#”成为一个哈希值,Hash模式的好处是,再也不会因为刷新而找不到页面而导致404
- MemoryRouter:不存储Histor,所有路由过程保存在内存中,不能进行前进和后退,因为地址栏没有发生任何变化
- NativeRouter:经常配合ReactNative使用,多用于移动端
- StaticRouter:设置静态路由,需要和后台服务器配合设置,比如设置服务端渲染时使用
React常用的路由模式有两种:
1.BrowserRouter:优点的是路径里不带#号,缺点是刷新会导致404,可以通过在服务器端配置反向代理解决该问题
服务器端反向代理解决方案:
1 | server { |
2.HashRoter:缺点是路径有#号,非常难看。优点是不需要反向代理,也可以随便刷新。
总结:
在开发测试阶段,推荐使用HashRouter,这样可以避免每次修改页面后刷新404的问题。等产品上线之前,再修改为BrowserRouter,配合Nginx等反向代理工具即可。