react-router react路由层
React-routerReact-router提供了一些router的核心api,包括?Router,Route,Switch?等,但是它没有提供dom操作进行跳转的api。 React-router-domReact-router-dom提供了 BrowserRouter,??Route,? Link 等api,我们可以通过dom的事件控制路由。例如点击一个按钮进行跳转,大多数情况下我们是这种情况,所以在开发过程中,我们更多是使用React-router-dom。 引入
HashRouter不太推荐使用,路由:http://localhost:3000/#/,看起来比较怪
使用
exact控制匹配到/路径时不会再继续向下匹配,path标识路由的路径,component表示路径对应显示的组件。 扩展***?扩展1-------全部匹配,渲染
http://localhost:3000/second? ?Login组件和Second组件都被渲染,而往往我们只想渲染Second组件 解决办法: 使用Switch,Switch常用于Router中作为容器组件,它使得路由变为唯一匹配,匹配到第一个路由不再往后匹配
此时http://localhost:3000/second只渲染Second组件
?
扩展2------
Link和NavLink的选择
NavLink提供更多的Api,如前选中的路由设置类名、样式以及回调函数
扩展3------this.props this.props上添加了history,?location, match 您可能遇到???问题1:?
出现bug? ??A <Router> may have only one child element? ?这说明Router中必须只有一个子元素,也就是说需要一个容器元素 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |