react路由配置方式详解


Posted in Javascript onAugust 07, 2017

本文介绍了react路由配置,最近刚开始学,分享给大家,顺便给自己留个笔记。

react路由配置方式详解

包含了LInk跳转以及js触发跳转并传参。

这是项目的目录结构,主要的代码都在src目录下,src下面新建一个containers文件夹放我们的一些组件,router文件夹是配置路由用的。

按照顺序来写:detail文件夹下的代码

import React from 'react' 
 
class Detail extends React.Component { 
  render() { 
    return ( 
      <p>Detail,url参数:{this.props.params.id}</p> 
    ) 
  } 
} 
export default Detail 

home:

import React from 'react' 
import { Link } from 'react-router' 
 
class Home extends React.Component { 
  render() { 
    return ( 
      <div> 
        <p>Home</p> 
        <Link to="/list">to list</Link> 
      </div> 
    ) 
  } 
} 
 
export default Home

list:

import React from 'react' 
import { hashHistory } from 'react-router' 
 
class List extends React.Component { 
  render() { 
    const arr = [1, 2, 3] 
    return ( 
      <ul> 
        {arr.map((item, index) => { 
          return <li key={index} onClick={this.clickHandler.bind(this, item)}>js jump to {item}</li> 
        })} 
      </ul> 
    ) 
  } 
  clickHandler(value) { 
    hashHistory.push('/detail/' + value) 
  } 
} 
 
export default List

404yemian:

import React from 'react' 
 
class NotFound extends React.Component { 
  render() { 
    return ( 
      <p>404 NotFound</p> 
    ) 
  } 
} 
 
export default NotFound

在containers下面有一个app.jsx总入口文件:

import React from 'react' 
 
class App extends React.Component { 
  render() { 
    return ( 
      <div>{this.props.children}</div> 
    ) 
  } 
} 
 
export default App

router文件夹下的:

import React from 'react' 
import { Router, Route, IndexRoute } from 'react-router' 
 
import App from '../containers/App' 
import Home from '../containers/Home' 
import List from '../containers/List' 
import Detail from '../containers/Detail' 
import NotFound from '../containers/NotFound' 
 
class RouteMap extends React.Component { 
  updateHandle() { 
    console.log('每次router变化之后都会触发') 
  } 
  render() { 
    return ( 
       <Router history={this.props.history} onUpdate={this.updateHandle.bind(this)}> 
        <Route path='/' component={App}> 
          <IndexRoute component={Home}/> 
          <Route path='list' component={List}/> 
          <Route path='detail/:id' component={Detail}/> 
          <Route path="*" component={NotFound}/> 
        </Route> 
      </Router> 
    ) 
  } 
} 
 
export default RouteMap

最终最外层的index.js:

import React from 'react' 
import { render } from 'react-dom' 
import { hashHistory } from 'react-router' 
 
import RouteMap from './src/router/routeMap' 
 
render( 
  <RouteMap history={hashHistory}/>, 
  document.getElementById('App') 
)

使用的router版本是^2.8.1,如果下载的是4.0以上的版本,那么写法就和现在的几乎是完全不一样,他做了很大的改动,配置的时候注意router的版本号。

项目地址https://github.com/wineSu/myReact/tree/master/src/containers

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
一个简单的JavaScript数据缓存系统实现代码
Oct 24 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
JQuery控制Radio选中方法分析
May 29 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
正则表达式优化JSON字符串的技巧
Dec 24 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
简单谈谈js的数据类型
Sep 25 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
原生JS实现拖拽效果
Dec 04 Javascript
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 #Javascript
JavaScript调试之console.log调试的一个小技巧分享
Aug 07 #Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 #Javascript
jquery+css实现简单的图片轮播效果
Aug 07 #jQuery
bootstrap table表格客户端分页实例
Aug 07 #Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 #Javascript
react native实现往服务器上传网络图片的实例
Aug 07 #Javascript
You might like
php discuz 主题表和回帖表的设计
2009/03/13 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
django数据库自动重连的方法实例
2019/07/21 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
Python 里最强的地图绘制神器
2021/03/01 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
大学生村官工作感言
2014/01/10 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
家长建议怎么写
2014/05/15 职场文书
升职自荐信怎么写
2015/03/05 职场文书
提档介绍信范文
2015/10/22 职场文书