react路由配置方式详解

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

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

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

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

rush:js;"> import React from 'react'

class Detail extends React.Component {
render() {
return (

Detail,url参数:{this.props.params.id}

) } } export default Detail

home:

rush:js;"> import React from 'react' import { Link } from 'react-router'

class Home extends React.Component {
render() {
return (

Home

) } }

export default Home

list:

rush:js;"> import React from 'react' import { hashHistory } from 'react-router'

class List extends React.Component {
render() {
const arr = [1,2,3]
return (

    {arr.map((item,index) => { return
  • js jump to {item}
  • })}
) } clickHandler(value) { hashHistory.push('/detail/' + value) } }

export default List

404yemian:

rush:js;"> import React from 'react'

class NotFound extends React.Component {
render() {
return (

404 NotFound

) } }

export default NotFound

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

rush:js;"> import React from 'react'

class App extends React.Component {
render() {
return (

{this.props.children}
) } }

export default App

router文件夹下的:

rush:js;"> 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 (

) } }

export default RouteMap

最终最外层的index.js:

rush:js;"> import React from 'react' import { render } from 'react-dom' import { hashHistory } from 'react-router'

import RouteMap from './src/router/routeMap'

render(

,document.getElementById('App') )

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...