< react router>: (路由)
< react router> (路由):
思维导图:
Atrial 文件夹下的index.js 文件内容:
import React, { Component } from 'react'
import{
Link,
}from 'react-router-dom'
export default class Atrial extends Component {
render() {
return (
<div>
<Link to='atrial/1'>文章一:</Link>
<Link to='atrial/2'>文章二:</Link>
</div>
)
}
}
还有一种传递方式叫隐士传参:
import React, { Component } from 'react'
import{
Link,
}from 'react-router-dom'
export default class Atrial extends Component {
render() {
return (
<div>
<Link to='atrial/1'>文章一:</Link>
<Link to={{
pathname:'/atrial/2',
state:{
from:'artial'
}
}}>文章二:</Link>
</div>
)
}
}
---------------------------------------------------
和上面的一样,只不过这里用到了隐士传参
Atrial 文件夹下的 ArtialDetall .js 的内容:
import React, { Component } from 'react' export default class ArtialDetall extends Component {
render() { console.log(this.props)
return (
<div>
文章详情{this.props.match.params.id}
</div>
)
}
}
Home 文件夹下的 index.js 内容:
import React, { Component } from 'react' export default class Home extends Component {
render() {
return (
<div>
<h3>柚子小哥哥!</h3>
</div>
)
}
}
Users 文件夹下的 index.js 内容:
import React, { Component } from 'react' export default class Users extends Component {
render() {
return (
<div>
<h3>橙子小姐姐!</h3>
</div>
)
}
}
NotFount 文件夹下的 index.js 的内容: (这个文件夹代表的是404)
import React, { Component } from 'react' export default class NotFound extends Component {
render() {
return (
<div>
404
</div>
)
}
}
Views 文件夹下的 index.js 的内容:(把Views 文件夹下的组件抛出去)
export { default as Home } from './Home'
export { default as Atrial } from './Atrial'
export { default as Users } from './Users'
export { default as ArtialDetall } from './Atrial/ArtialDetall'
export { default as NotFound } from './NotFound'
App.js 的内容:
/* eslint-disable no-unused-vars */
import React, { Component } from 'react'
import {Route, NavLink as Link,Redirect,Switch } from 'react-router-dom'
import {
Home,
Users,
Atrial,
ArtialDetall,
NotFound,
} from './Views' export default class App extends Component {
render() {
console.log(this.props)
return (
<div>
<ul>
<li><Link to='/home'>首页</Link></li>
<li><Link to='/users'>新闻</Link></li>
<li><Link to='/atrial'> 娱乐</Link></li>
</ul>
<Switch>
<Route path='/home' render={()=>{return <Home/>}}/>
<Route component={Users} path ='/users'/>
<Route component={Atrial} path='/atrial' exact/>
<Route component={ArtialDetall} path='/atrial/:id'/>
<Route component={NotFound} path='/404'/>
<Redirect to='/home' from='/' exact />
<Redirect to='/404'/>
</Switch>
</div>
)
}
}
index.js 的内容:
import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter as Router , Route} from 'react-router-dom'
import App from './App'; ReactDOM.render(
<Router>
<Route component={App} />
</Router>,
document.getElementById('root'));
总结:
< react router>: (路由)的更多相关文章
- React初识整理(四)--React Router(路由)
官网:https://reacttraining.com/react-router 后端路由:主要做路径和方法的匹配,从而从后台获取相应的数据 前端路由:用于路径和组件的匹配,从而实现组件的切换. 如 ...
- react router路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...
- 【react router路由】<Router> <Siwtch> <Route>标签
博客 https://www.jianshu.com/p/ed5e56994f13?from=timeline 文档 http://react-guide.github.io/react-router ...
- react ---- Router路由的使用和页面跳转
React-Router的中文文档可以参照如下链接: http://react-guide.github.io/react-router-cn/docs/Introduction.html 首先,我们 ...
- React Router路由传参方式总结
首先我们要知道一个前提,路由传递的参数我们可以通过props里面的属性来获取.只要组件是被<Router>组件的<component>定义和指派的,这个组件自然就有了props ...
- react router 4.0以上的路由应用
thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr& ...
- react router @4 和 vue路由 详解(七)react路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 12.react路由守卫? a.在之前的版本中,React Router 也提供了类似的 ...
- react router @4 和 vue路由 详解(全)
react router @4 和 vue路由 本文大纲: 1.vue路由基础和使用 2.react-router @4用法 3.什么是包容性路由?什么是排他性路由? 4.react路由有两个重要的属 ...
- React Router 4.0 实现路由守卫
在使用 Vue 或者 Angular 的时候,框架提供了路由守卫功能,用来在进入某个路有前进行一些校验工作,如果校验失败,就跳转到 404 或者登陆页面,比如 Vue 中的 beforeEnter 函 ...
随机推荐
- vue 上拉刷新组件
背景,项目中经常会出现需要上拉加载更多或者下拉刷新的需求,一直以来呢都是借用各种UI库来实现,但是不知道啥情况,最近在使用的时候,一直有问题,出不了效果,然人很恼火,于是只能自己动手来实现以下, 这次 ...
- Docker容器同步主机时间
方法一: 查看本地是否有/etc/localtime文件 cat /etc/localtime 如果没有就新建文件 cp /usr/share/zoneinfo/Asia/Shanghai /et ...
- Nginx 笔记(四)nginx 原理与优化参数配置 与 nginx 搭建高可用集群
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.nginx 原理与优化参数配置 master-workers 的机制的好处 首先,对于每个 ...
- (Java实现) 工作分配问题
工作分配问题 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 设有n件工作分配给n个人.为第i个人分配工作j所需的费用为c[i][j] .试设计一个算法,计算最 ...
- Java实现 LeetCode 222 完全二叉树的节点个数
222. 完全二叉树的节点个数 给出一个完全二叉树,求出该树的节点个数. 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集 ...
- SQL Server账号密码(sa)登录失败 错误原因:233
(其实以前经常用的时候,都很简单,最近一段时间不用了,再一看发现都忘记的差不多了,还是写一篇博客吧,防止下一次再在这种问题上面浪费时间) 右键此电脑,点击管理 如果没有此电脑打开文件夹 在这里右键也是 ...
- Java实现埃拉托色尼筛选法
1 问题描述 Compute the Greatest Common Divisor of Two Integers using Sieve of Eratosthenes. 翻译:使用埃拉托色尼筛选 ...
- Java实现第八届蓝桥杯方格分割
方格分割 题目描述 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共 ...
- 本地存储 localStorage
本地存储localStorage 概念:window对象下面的属性,html5新增的,将5M大小的数据存储本地的浏览器上面. 浏览器支持存储5M大小 本地存储localStorage特点 本地存储属于 ...
- 小师妹学JavaIO之:目录还是文件
目录 简介 linux中的文件和目录 目录的基本操作 目录的进阶操作 目录的腰疼操作 总结 简介 目录和文件傻傻分不清楚,目录和文件的本质到底是什么?在java中怎么操纵目录,怎么遍历目录.本文F师兄 ...