微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

原文地址:https://www.jb51.cc/js/37339.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐