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 相关文章推荐
使用JQuery进行跨域请求
Jan 25 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
Apr 02 Javascript
js的逻辑运算符 ||
May 31 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
May 07 Javascript
Jquery绑定事件(bind和live的区别介绍)
Aug 23 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
AngularGauge 属性解析详解
Sep 06 Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 Javascript
用director.js实现前端路由使用实例
Jan 27 Javascript
jQuery操作元素追加内容示例
Jan 10 jQuery
关于JavaScript回调函数的深入理解
Jun 27 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部分常见问题总结
2006/10/09 PHP
php 如何获取数组第一个值
2013/08/06 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
Python入门篇之字符串
2014/10/17 Python
python 网络爬虫初级实现代码
2016/02/27 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
法人授权委托书
2014/04/03 职场文书
投诉书格式范本
2015/07/02 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
小学副班长竞选稿
2015/11/21 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技