• React Router简单Demo


    简介

    react router是使用react的时候首选的一个路由工具。

    安装

    react router包含react-router,react-router-dom和react-router-native这三个包,分别是路由核心组件和浏览器端组件和native端组件,所以我们需要安装react-router-dom

    npm install --save react-router-dom
    

    安装后就可以直接使用了

    https://codepen.io/pshrmn/pen/YZXZqM?editors=1010

    这里有一个只有一个js文件的demo,我是根据这个demo来改成用多个文件的demo的

    正式开始

    index.js配置

    首先你需要在index.js里面引入BrowserRouter组件,这个组件是作为路由器的选择。

    你的选择可以有两种BrowserRouter和HashRouter

    当存在服务区来管理动态请求时,需要使用组件,而被用于静态网站。

    引入后index.js为

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './assets/css/index.css';
    import App from './pages/App';
    import registerServiceWorker from './registerServiceWorker';
    import {BrowserRouter} from 'react-router-dom'
    
    ReactDOM.render((
    	<BrowserRouter>
    		<App/>
    	</BrowserRouter>
    	), document.getElementById('root'));
    registerServiceWorker();
    
    
    添加被路由的组件

    添加两个测试用的组件内容随意 test和test2

    import React, { Component } from 'react';
    import '../assets/css/App.css';
    
    class App extends Component {
    	render() {
    		return (
    			<div className="App">
    				<p className="App-intro">
    					this is test
    				</p>
    			</div>
    		);
    	}
    }
    export default App;
    
    
    添加路由的组件router.js

    先上代码吧,很简单

    import React from 'react';
    import test2 from './pages/Test2.js'
    import test from './pages/Test.js'
    import {Switch,Route} from 'react-router-dom'
    
    
    const router = () => (
    	<Switch>
    		<Route exact path='/test' component={test}/>
    		<Route path='/test2' component={test2}/>
    	</Switch>
    )
    
    export default router;
    

    首先引入react,不引入的话不会识别jsx语法

    然后引入两个测试组件和react-router-dom

    其中所有的路由需要用Switch来包括

    然后所有的路由需要用Route组件来写

    path属性是路由地址,component是地址的组件

    这些就可以定义我们路由跳转的页面了

    app.js中设置跳转

    先看代码

    import React, { Component } from 'react';
    import {Link} from 'react-router-dom'
    import Router from './../router.js'
    
    class App extends Component {
      render() {
        return (
          <div>
            <li><Link to='/test'>test</Link></li>
            <li><Link to='/test2'>test2</Link></li>
            <Router></Router>
          </div>
        );
      }
    }
    
    export default App;
    
    

    引入react-router-dom的Link组件,然后引入我们编写好的Router

    然后用Link去跳转到对应的路由地址

    然后在Router组件里面展示当前路由的页面

    Router是用来显示对于路由的页面的

    总结

    这里只是简单的路由的使用

    总结一下就是只需要在入口处定义路由类型,然后设置路由的对应组件,然后再跳转到对应的路由就可以显示不同路由的组件了

    参考资料

    https://segmentfault.com/a/1190000010174260#articleHeader16

  • 相关阅读:
    养花
    【bzoj1419】Red is good
    C++模板
    逆元求组合数
    【IOI2000】【洛谷1435】回文字串
    Centos 下启动mysql 报错: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法
    linux系统下进行安装phpMyAdmin(基于Centos)
    达梦数据的安装(Windows10 、linux环境下、麒麟系统下)
    2020-3-3 链表刷题(203. 移除链表元素)
    2020-02-03 刷题
  • 原文地址:https://www.cnblogs.com/xiedashuaige/p/8733088.html
Copyright © 2020-2023  润新知