react-router基本知识
2017-07-19 21:04
375 查看
相关链接
react-router示例网站
作用
让浏览器历史记录功能可用,包括前进后退功能管理组件的加载
这点用在菜单功能特别好使
原理
使用h5的history接口,来保持ui和url同步安装
cnpm install react-router-dom
导入
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
api
BrowserRouter
路由定义外层配置,配置基本规则属性
(1) basename
基目录,以/开头,结尾无/
(2) getUserConfirmation
–(略)
(3) forceRefresh
为 true 时,在导航的过程中整个页面将会刷新。(浏览器不支持 HTML5 的 history API 时使用)
(4) keyLength
hashRouter
HashRouter 使用 URL 的 hash (例如:window.location.hash) 来保持 UI 和 URL 的同步。Link
用来定义导航<Link></Link>
属性
(1) to指定点击后跳转到(显示)的路径(string)或是地址(object)
//路径 <Link to="/courses"/>
//地址 <Link to={{ pathname: '/courses', search: '?sort=name', hash: '#the-hash', state: { fromDashboard: true } }}/>
(2) replace
是否替换源地址(不算一个历史记录),默认false
<Link to="/courses" replace />
NavLink
会在匹配上当前 URL 的时候会给已经渲染的元素添加样式参数MemoryRouter
在内存保存你 “URL” 的历史纪录(并没有对地址栏读写). 在非浏览器或者测试环境比如React Native下很有用Redirect
渲染的时候将会导航到一个新的地址(location)。这个新的地址(location)将会覆盖在访问历史记录里面的原地址Route
当location(url)匹配path属性时,渲染指定的组件。使用有三种渲染内容的方法:
1 component
地址匹配的时候React的组件会被渲染
<Route path="/user/:username" component={User}/> const User = ({ match }) => { return <h1>Hello {match.params.username}!</h1> }
2 render
内联渲染或包装组件
//行内渲染 <Route path="/home" render={() => <div>Home</div>}/>
3 children
不管地址是否匹配都渲染
属性
(1) path路径,无则总是匹配
(2) exact
当值为true时,则要求路径与location.pathname必须 完全 匹配。
<Route exact path="/one" component={About}/>
(3) strict
严格检查 / 结尾
<Route strict path="/one/" component={About}/>
Router
Router是所有路由组件共用的底层接口,一般我们的应用并不会使用这个接口StaticRouter
从不会改变地址Switch
渲染匹配地址(location)的第一个 或者相关文章推荐
- 关于React Native你想了解的基本知识
- Gargoyle Router QoS的基本知识
- 看看React-router那些基本概念
- 看看React-router那些基本概念
- 通过一个用户管理实例学习路由react-router-dom知识
- React的基本知识和优缺点
- react项目实战【1】react基本知识
- react-router-dom示例讲解(一)——基本使用
- React的基本知识和优缺点
- linux云自动化运维基础知识3(系统的基本命令)
- 黑马程序员--c语言指针的基本知识
- File类的基本知识
- C语言的基本入门知识
- USB基本知识-2
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.4基本类型与运算(4.4.5-4.4.10)
- 甲骨文数据库基本知识
- Ndk基础知识(二)Ndk基本使用流程
- React-router(5)params 路由传参
- 事务--基本知识
- 进程的基本知识