• React路由嵌套


    /*
    
      react路由的配置:
        1、找到官方文档 https://reacttraining.com/react-router/web/example/basic
    
        2、安装  cnpm install react-router-dom --save
    
    
        3、找到项目的根组件引入react-router-dom
    
           import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    
        4、复制官网文档根组件里面的内容进行修改  (加载的组件要提前引入)
    
    
             <Router>
    
                    <Link to="/">首页</Link>
    
                    <Link to="/news">新闻</Link>
    
                    <Link to="/product">商品</Link>
    
    
                   <Route exact path="/" component={Home} />
                   <Route path="/news" component={News} />    
                   <Route path="/product" component={Product} />   
             </Router>
    
    
             exact表示严格匹配
    
    
    react动态路由传值
    
          1、动态路由配置
    
              <Route path="/content/:aid" component={Content} />   
    
          2、对应的动态路由加载的组件里面获取传值
    
                this.props.match.params
    
          跳转:<Link to={`/content/${value.aid}`}>{value.title}</Link>
    
    react get传值  
    
          1、获取 this.props.location.search
             
    */
    
    import React, { Component } from 'react';
    
    import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    
    import Home from './components/Home';
    
    import User from './components/User';
    
    import Shop from './components/Shop';
    
    import './assets/css/index.css'
    
    class App extends Component {
    
      render() {
        return (
    
          <Router>
            <div>
    
    
              <header className="title">
    
                 <Link to="/">首页组件</Link>
    
                 <Link to="/user">用户页面</Link>
    
    
                   <Link to="/shop">商户</Link>
    
              </header>
    
                 
               <Route exact path="/" component={Home} />
               <Route path="/user" component={User} />
    
               <Route path="/shop" component={Shop} />
            
            
             
            </div>
          </Router>
        );
      }
    }
    
    export default App;
    import React, { Component } from 'react';
    import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    
    import ShopAdd from './Shop/ShopAdd';
    import ShopList from './Shop/ShopList';
    
    class Shop extends Component {
        constructor(props) {
            super(props);
            this.state = { 
                msg:'我是一个商户组件'
             };
        }    
        render() {
            return (
                <div className="shop">
                   <div className="content">
    
    
                    <div className="left">
    
                        <Link to="/shop/">商户列表</Link>
    
                        <br />
                        <br />
    
                        <Link to="/shop/add">增加商户</Link>
    
    
                    </div>
    
                    <div className="right">
    
                            
                            <Route exact path={`${this.props.match.url}/`} component={ShopList} />
    
                            <Route  path={`${this.props.match.url}/add`} component={ShopAdd} />
    
                    </div>
    
    
                    </div>
    
    
                </div>
            );
        }
    }
    
    export default Shop;
    import React, { Component } from 'react';
    
    import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    
    
    import Info from './User/Info';
    import Main from './User/Main';
    
    class User extends Component {
        constructor(props) {
            super(props);
            this.state = { 
                msg:'我是一个User组件'
             };
        }    
        render() {
            return (
                <div className="user">
                   
    
                   <div className="content">
    
    
                       <div className="left">
    
                            <Link to="/user/">个人中心</Link>
    
                            <br />
                            <br />
    
                            <Link to="/user/info">用户信息</Link>
    
    
                        </div>
    
                        <div className="right">
    
                                
                                <Route exact path="/user/" component={Main} />
    
                                <Route  path="/user/info" component={Info} />
    
                        </div>
    
    
                   </div>
    
    
                </div>
            );
        }
    }
    
    export default User;
  • 相关阅读:
    偶遇问题
    上机实践
    知识点摸清
    实用脚本
    实用脚本
    对于问题,要打破砂锅问到底,也要懂得不求甚解——不执着于问题本身
    偶遇问题
    知识点摸清
    偶遇问题
    程序员论坛
  • 原文地址:https://www.cnblogs.com/loaderman/p/11557432.html
Copyright © 2020-2023  润新知