React第三方组件1(路由管理之Router的使用①简单使用)
本教程总共6篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章!
1、React第三方组件1(路由管理之Router的使用①简单使用)---2018.01.22
2、React第三方组件1(路由管理之Router的使用②多层级跳转及重定向)---2018.01.23
3、React第三方组件1(路由管理之Router的使用③传参)---2018.01.24
4、React第三方组件1(路由管理之Router的使用④按需加载-上)---2018.01.25
5、React第三方组件1(路由管理之Router的使用⑤按需加载-下)---2018.01.26
开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2
今天我们讲下react-router,首先放出它的官网地址:
https://reacttraining.com/react-router/web/guides/philosophy
我们废话不多,直接进入示列!
先来看下我们之前的文件
大家可能会奇怪为什么每个Index.jsx文件,都这么写,其实你可以不这么写,我只是为了预留给将来用react-router使用!
1.首先加入依赖
这里我们用到的是 react-router-dom
npm i -S react-router-dom
2.引入这个react-router-dom
import {HashRouter, Route, NavLink} from 'react-router-dom'
HashRouter, Route, NavLink 这些含义大家查官网,或者百度,网上有很多资料,我只讲怎么用!
3.设置路由,我们把shop、 demo1、demo2这三个页面引入
import Shop from '../shop/Index';
import demo1 from '../demo/demo1/Index';
import demo2 from '../demo/demo2/Index';
4.具体义务代码
const Index = () =>
<HashRouter>
<div>
<div className="nav">
<NavLink to="/" activeClassName="selected" exact>首页</NavLink>
<NavLink to="/Shop" activeClassName="selected" exact>商城</NavLink>
<NavLink to="/demo1" activeClassName="selected" exact>demo1</NavLink>
<NavLink to="/demo2" activeClassName="selected" exact>demo2</NavLink>
</div>
<Route exact path="/" component={() => <Seconds title="首页"/>}/>
<Route path="/Shop" component={Shop}/>
<Route path="/demo1" component={demo1}/>
<Route path="/demo2" component={demo2}/>
</div>
</HashRouter>
;
这里要简单讲下:
<NavLink to="/" activeClassName="selected" exact>首页</NavLink>
NavLink:渲染后会被转化程a链接
to:就是跳转页面地址
activeClassName:就是链接和当前页面理由一致后会使用这个样式。
exact :精确匹配
如果你的组件需要传值,就得返回这个组件:
<Route exact path="/" component={() => <Seconds title="首页"/>}/>
不需要传值的就直接这样写:
<Route path="/Shop" component={Shop}/>
5.添加样式
修改 index.pcss
.nav {
a{
margin-right: 10px;
color: blue;
&.selected{
color: #f00000;
}
}
}
6.测试
- POJ 2209 The King(简单贪心)
- 使用 Vagrant 打造跨平台开发环境
- HDU 2084 数塔(简单DP入门)
- Python-解决Cx_Oracle查询时UnicodeDecodeError的问题
- “玲珑杯”ACM比赛 Round #12题解&源码
- NYOJ 题目77 开灯问题(简单模拟)
- python笔记2-冒泡排序
- Lucas定理学习(进阶中)
- Java8时间类使用方法
- Selenium2+python自动化46-js解决click失效问题
- PCA实现一个简单的酒店推荐系统(附Python源码)
- 【干货】动手实践:理解和优化GAN(附代码)
- Selenium2+python自动化44-元素定位参数化(find_element)
- Selenium2+python自动化45-18种定位方法(find_elements)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 解决WebView调用loadData()方法显示乱码的问题
- Android 自定义TextView去除paddingTop和paddingBottom
- Android MeasureSpec的理解和源码的解析
- Android 中自定义ContentProvider与ContentObserver的使用简单实例
- Android沉浸式状态栏的实现代码
- MyBatis源码解析之基础模块—DataSource
- Android中Activity和Fragment传递数据的两种方式
- Android MTU 值修改的实例详解
- Android ListView填充数据的方法
- AFURLSessionManager 上传下载使用代码说明
- Android APP之WebView校验SSL证书的方法
- Android中okhttp3使用详解
- Android中RecyclerView实现Item添加和删除的代码示例
- 小程序图片上传,存储,获取,显示(含源码)
- Android网络请求框架Retrofit详解