react-router和react-router-dom

react-router还是 react-router-dom
在 React 的使用中,我们一般要引入两个包,react 和 react-dom,那么 react-router 和react-router-dom 是不是两个都要引用呢?
非也,坑就在这里。他们两个只要引用一个就行了,不同之处就是后者比前者多出了 这样的 DOM 类组件。
因此我们只需引用 react-router-dom 这个包就行了

withRouter

withRouter:这个方法是把一个非路由管控的组件,变成路由管控的组件,可以使用this.props获取到 history、location、match
使用方法在export default 组件时用withRouter(APP)
受路由管控组件例:

BrowserRouter

BrowserRouter:一个使用了 HTML5 history API 的高阶路由组件,保证你的 UI 界面和 URL 保持同步。此组件拥有以下属性:
使用方法:

import { BrowserRouter } from 'react-router-dom';

  

API:

basename: string
所有位置的基准 URL。如果你的应用程序部署在服务器的子目录,则需要将其设置为子目录。 basename 的正确格式是前面有一个前导斜杠,但不能有尾部斜杠。


  

上例中的login跳转的URL地址最终将被呈现为https://www.xxxx.com/admin/login

forceRefresh: bool
如果为 true ,在导航的过程中整个页面将会刷新。一般情况下,只有在不支持 HTML5 history API 的浏览器中使用此功能。


keyLength: number
作用:设置它里面路由的 location.key 的长度。默认是6。(key的作用:点击同一个链接时,每次该路由下的 location.key都会改变,可以通过 key 的变化来刷新页面。)
使用场景:按需设置。
getUserConfirmation: fn
用于确认导航的函数,默认使用 window.confirm。例如,当从 /a 导航至 /b 时,执行一个callback会使用默认的 confirm 函数弹出一个提示,用户点击确定后才进行导航,否则不做任何处理。

详情参考

你可能感兴趣的:(react-router和react-router-dom)