美文网首页全栈记
4 React-Router基础、二级/动态路由、高阶组件、路由

4 React-Router基础、二级/动态路由、高阶组件、路由

作者: 官清岁月 | 来源:发表于2019-05-13 08:28 被阅读0次

1、React-Router-dom;

(1).npm install react-router-dom; -> 引入

(2).分类:HahRouter、BrowserRouter;                                                                                [1].HahRouter -> localhost:3000/#/topics ->其会在路径后添加#,容易与hash#混乱;                      [2].取别名[方便后续修改]:BrowserRouter as Router

(3).<Route path="" component={} ></Route>;

[1].若只有一个<Route></Route>,默认path="/"; -> 其也可以省略

[2].若有多个<Route></Route>,最后一个不写path,表示除了上面所示的路由,其它路由都会跳转到该组件;

(4).<Switch></Switch>;//匹配到便不会再向下匹配,常配合exact属性一起使用 => 匹配一模一样的,exact={true};也OK;

(5).<Redirect to=""></Redirect>;//重定向:若是以上都匹配不到,自动跳转到首页/或其它页

(6).路由跳转<Link to="">; <NavLink to="">;// 最终都转换为<a>标签,但不能取别名,Vue中使用tag属性可以取别名;<NavLink>优势:其跳转页面,系统会自动加类名.active,巧妙利用更改样式;=>两者大多结合exact属性使用;

2、二级路由:

3、动态路由:

跳转 -> this.props -> 路由的相关值

4、高阶组件withRouter(); -> withRouter(组件);包裹组件即可 -> 目的:使用其可让组件内所有元素拥有this.props.history/location/match等属性;

this.props.history.push('/');//重定向路由

5、路由权限控制 -> React没有相关API,都要自己写;

(1).登录相关:登录成功种cookie -> 其它页面查看 -> 若有cookie,正常跳转页面,若没有,提示框+跳转登录页面;

(2).页面获取数据:1.父组件向子组件传值;2.某页面将数据设置到浏览器存储中,一般为localStorage其获取到的是JSON对象,JSON.parse(localStorage.getItem('articleList')); -> 其它页面需要数据时,从存储中拿即可;

(3).高阶组件[包裹 -> 返回具有某功能的组件]

(4).Prompt组件 -> 进入/离开的时候都会进行询问;

[1].引入:import { Switch, Route, Redirect, Prompt } from 'react-router-dom';

[2].使用:<Prompt message="" ></Prompt>; message= { () =>{ return true/false }}

补充:

(1).<form onSubmit={ this.handleSubmit }></form>;

(2).e.preventDefault();//React中阻止默认事件只有此方法;

(3).<Link>、<NavLink>组件最终都转换为a标签 -> React不能取别名,Vue可以 -> React可使用高阶组件来解决此类需求;

相关文章

  • 4 React-Router基础、二级/动态路由、高阶组件、路由

    1、React-Router-dom; (1).npminstallreact-router-dom; ->引入 ...

  • React路由

    react-router React路由,让父组件动态去挂载不同的子组件,以目前最新的4.x为例; 前端路由的实现...

  • react-router v4 路由管理组件库

    react-router V4 概念:一个路由管理的组件库,包含多个路由组件 几个重要组件Router:管理路由的...

  • Guide-2019-05-09-React Router 4.

    react-router中有三类组件: 路由组件(router components) 路由匹配组件(route ...

  • React-Router v4 学习

    React-Router v4 1. 设计理念1.1. 动态路由1.2. 嵌套路由1.3. 响应式路由 2. 快速...

  • react-router-dom初探

    react-router是路由组件核心,而react-router-dom是在react-router的基础上扩展...

  • Axios 配合 React Router 4 实现身份认证

    上篇文章中,介绍了利用高阶组件,在 React Router 4 中实现了路由守卫。这样的路由守卫,是在前端路由层...

  • react-router

    安装 示例 容器组件 react-router的容器组件,就是最外层包括所有路由的组件,所有路由活动需要在容器组件...

  • React路由

    React-Router的基本配置 基本案例 路由传参 动态路由 首先在app.jsx中添加路由(分别是新闻列表页...

  • vue全家桶(2.5)

    3.8.动态路由匹配和路由组件传参 #3.8.1.动态路由匹配 动态路由意味着不固定,具有某种模式,我们希望通过某...

网友评论

    本文标题:4 React-Router基础、二级/动态路由、高阶组件、路由

    本文链接:https://www.haomeiwen.com/subject/wxlswqtx.html