Router是React-Router导航命令的传递者,作为React应用的顶层组件,为应用提供组件化的路由响应能力,如果没有引入Router组件,那么任何路由调整都不会生效。根据接收外部的history对象的不同来提供不同的功能:
一、BrowserRouter是使用browserHistory来进行地址管理的,但是对于使用BrowserRouter的应用,需要福区段提供一定的支持,比如Nginx代理。因为用户在强制刷新的时候,而服务器仅仅提供静态文件,就找不到对应路径下的资源,于是返回了404,如果服务器是使用Nginx配置的话,就把相关的路径转发到静态文件上就好了。
二、HashRouter路由不需要服务端的支持,路由路径为浏览器地址栏地址“#”后面的部分
三、NativeRouter,使用场景是ReactNative,它使用的history是memoryHistory
四、StaticRouter,静态路由,一般是在服务端渲染场景中使用;
五、MemoryRouter,内存路由,不需要改变外部环境的地址,但是在它使用内存模拟历史栈,浏览