React Router简单Demo
简介
react router是使用react的时候首选的一个路由工具。
安装
react router包含react-router,react-router-dom和react-router-native这三个包,分别是路由核心组件和浏览器端组件和native端组件,所以我们需要安装react-router-dom
npm install --save react-router-dom
安装后就可以直接使用了
https://codepen.io/pshrmn/pen/YZXZqM?editors=1010
这里有一个只有一个js文件的demo,我是根据这个demo来改成用多个文件的demo的
正式开始
index.js配置
首先你需要在index.js里面引入BrowserRouter组件,这个组件是作为路由器的选择。
你的选择可以有两种BrowserRouter和HashRouter
当存在服务区来管理动态请求时,需要使用组件,而被用于静态网站。
引入后index.js为
import React from 'react';
import ReactDOM from 'react-dom';
import './assets/css/index.css';
import App from './pages/App';
import registerServiceWorker from './registerServiceWorker';
import {BrowserRouter} from 'react-router-dom'
ReactDOM.render((
<BrowserRouter>
<App/>
</BrowserRouter>
), document.getElementById('root'));
registerServiceWorker();
添加被路由的组件
添加两个测试用的组件内容随意 test和test2
import React, { Component } from 'react';
import '../assets/css/App.css';
class App extends Component {
render() {
return (
<div className="App">
<p className="App-intro">
this is test
</p>
</div>
);
}
}
export default App;
添加路由的组件router.js
先上代码吧,很简单
import React from 'react';
import test2 from './pages/Test2.js'
import test from './pages/Test.js'
import {Switch,Route} from 'react-router-dom'
const router = () => (
<Switch>
<Route exact path='/test' component={test}/>
<Route path='/test2' component={test2}/>
</Switch>
)
export default router;
首先引入react,不引入的话不会识别jsx语法
然后引入两个测试组件和react-router-dom
其中所有的路由需要用Switch来包括
然后所有的路由需要用Route组件来写
path属性是路由地址,component是地址的组件
这些就可以定义我们路由跳转的页面了
app.js中设置跳转
先看代码
import React, { Component } from 'react';
import {Link} from 'react-router-dom'
import Router from './../router.js'
class App extends Component {
render() {
return (
<div>
<li><Link to='/test'>test</Link></li>
<li><Link to='/test2'>test2</Link></li>
<Router></Router>
</div>
);
}
}
export default App;
引入react-router-dom的Link组件,然后引入我们编写好的Router
然后用Link去跳转到对应的路由地址
然后在Router组件里面展示当前路由的页面
Router是用来显示对于路由的页面的
总结
这里只是简单的路由的使用
总结一下就是只需要在入口处定义路由类型,然后设置路由的对应组件,然后再跳转到对应的路由就可以显示不同路由的组件了
参考资料
https://segmentfault.com/a/1190000010174260#articleHeader16
React Router简单Demo的更多相关文章
- React Router 用法
React Router 用法 一.DEMO import React from "react"; import { HashRouter as Router, Route, Li ...
- [Web 前端] 你不知道的 React Router 4
cp from https://segmentfault.com/a/1190000010718620 几个月前,React Router 4 发布,我能清晰地感觉到来自 Twitter 大家对新版本 ...
- react router路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...
- 从 React Router 谈谈路由的那些事
React Router 是专为 React 设计的路由解决方案,在使用 React 来开发 SPA (单页应用)项目时,都会需要路由功能,而 React Router 应该是目前使用率最高的. Re ...
- React Router 4.0 体验
React Router 4.0 (以下简称 RR4) 已经正式发布,它遵循React的设计理念,即万物皆组件.所以 RR4 只是一堆 提供了导航功能的组件(还有若干对象和方法),具有声明式(声明式编 ...
- angular实现了一个简单demo,angular-weibo-favorites
前面必须说一段 帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目.最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用 ...
- React Router基础使用
React是个技术栈,单单使用React很难构建复杂的Web应用程序,很多情况下我们需要引入其他相关的技术 React Router是React的路由库,保持相关页面部件与URL间的同步 下面就来简单 ...
- 关于react router 4 的小实践
详细代码栗子:https://github.com/wayaha/react-dom-CY clone然后 npm install npm start 分割线 1.这个项目使用create-react ...
- React Router 4.x 开发,这些雷区我们都帮你踩过了
前言 在前端框架层出不穷的今天,React 以其虚拟 DOM .组件化开发思想等特性迅速占据了主流位置,成为前端开发工程师热衷的 Javascript 库.作为 React 体系中的重要组成部分:Re ...
随机推荐
- P1465 序言页码 Preface Numbering (手推)
题目描述 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 V 5 X 10 L 50 C 100 D 500 M 1000 最多3个同样的可以表示为 ...
- tomcat 在linux下启动时找不到JDK
方案一. 修改bashrc (转载: https://www.cnblogs.com/hongzg1982/articles/2101792.html) $ vim ~/.bashrc #加入JA ...
- failed parsing overlays.
clearn + rebuild + 重新运行: 删掉模拟器进程 + 重新运行:
- [csu/coj 1078]多个序列的最长公共子序列
题意:给n个序列,同一个序列里面元素互不相同,求它们的最长公共子序列. 思路:任取一个序列,对于这个序列里面的两个数ai,aj(i<j),如果对于其它每一个序列,都出现过ai,aj,且ai在aj ...
- 【系列】Python编程思想(1):Python简介与开发环境搭建
李宁老师的 开始学习. 本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程.主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库.本教程使用Py ...
- unserialize3
0x01序列化与反序列化 序列化:将变量转换为可保存或传输的字符串的过程. 反序列化:在适当的的时候把这个字符串再转化成原来的变量使用. 优点: 存储和传输数据更方便,使程序维护性更高. 函数: se ...
- 小程序-云开发 bindscroll滚动事件执行setData()方法,导致scroll-view视图抖动
需求描述 想做一个类似京东小程序首页功能列表左右滑动的效果,效果图如下 遇到的问题 1. 如何让scroll-view显示两行 做过小程序开发的都知道,scroll-view要么显示一行,可以左右滚动 ...
- python常识系列08-->logging模块基础入门
前言 努力从今天开始,成功从"零"开始. 一.logging模块是什么? 是Python内置的标准模块,主要用于输出运行日志 二.日志是什么? 日志是代码的必要组成部分 记录日志能 ...
- java web基础
WEB基础 C/S:即服务器-客服机(Client-Server)结构.C/S结构通常采用两层结构,服务器负责数据的管理,客户机负责完成与用户的交互任务.客户通过局域网与服务器相连,接受用户的请求,并 ...
- 梳理继承中的has a和is a
面向对象中的继承问题,研究了一天 ,简单梳理下其中最重要的has a和is a 1.has a 一个类中使用了另一个类中的自定义的类型 这里Student中使用了Book 和 computer2.类型 ...