美文网首页
React:React Router

React:React Router

作者: 蚊小文 | 来源:发表于2017-10-18 23:51 被阅读0次

首先执行安装命令
npm install -S react-router
其次,引入react-router;
import {Router,Route,hashHistory} from 'react-router'
Route控制整个路由;Route控制单个路由;利用hash位置的变更,实现页面组件渲染的变更;

import React from 'react';
import ReactDom,{render} from 'react-dom';
import {Router,Route,hashHistory} from 'react-router';
import App from './App';
import About from './About';
import Contact from './Contact';
const router=(
    //Router:控制整个路由; Route:控制单个路由
    <Router history={hashHistory}>
        {/*
        // 普通路由 
        <Route path="/" component={App}/>
        <Route path="/about" component={About}/>
        <Route path="/contact" component={Contact}/>*/}
        {/* 嵌套路由 */}
        <Route path="/" component={App}>
            <Route path="about" component={About}/>
            <Route path="contact" component={Contact}/>
        </Route>
    </Router>
)
render(router,document.getElementById('app'));

渲染页面如下代码:

import React,{Component} from 'react';
import {Link} from 'react-router';
export default class App extends Component{
    render(){
    return(
            <div>
                <h1>我是APP页面</h1>
                <ul>
                    <li><Link activeStyle={{background: 'red'}} to='/'>App</Link></li>
                    <li><Link activeClassName="active" to='/about'>About</Link></li>
                    <li><Link to='/contact'>Contact</Link></li>
                </ul>
                /*嵌套路由需写: {this.props.children} */
            </div>
        )
    }
}
  • 如果希望当前的路由与其他路由有不同样式,这时可以使用Link组件的activeStyle属性;
  • 另一种做法是,使用activeClassName指定当前路由的Class。

相关文章

网友评论

      本文标题:React:React Router

      本文链接:https://www.haomeiwen.com/subject/tsyduxtx.html