react路由配置方式详解

网友投稿 459 2023-04-23


react路由配置方式详解

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

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

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

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

import React from 'react'

class Detail extends React.Component {

render() {

return (

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

)

}

}

export default Detail

home:

import React from 'react'

import { Link } from 'react-router'

class Home extends React.Component {

render() {

return (

Home

to list

)

}

}

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 (

{arr.map((item, index) => {

return

})}

)

}

clickHandler(value) {

hashHistory.push('/detail/' + value)

}

}

export default List

404yemian:

import React from 'react'

class NotFound extends React.Component {

render() {

return (

404 NotFound

)

}

}

export default NotFound

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

import React from 'react'

class App extends React.Component {

render() {

return (

)

}

}

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 (

)

}

}

export default RouteMap

最终最外层的index.js:

import React from 'react'

import { render } from 'rehttp://act-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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java虚拟机JVM优化实战的过程全记录
下一篇:ES6新增的math,Number方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~