zoukankan      html  css  js  c++  java
  • Reactjs之静态路由、动态路由以及Get传值以及获取

    1、新增知识点

    /*
      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       
    */

    2、案例实现路由配置

    import React, { Component } from 'react';
    import { BrowserRouter as Router, Route, Link } from "react-router-dom";
    import './assets/css/index.css'
    import Home from './components/Home';
    import News from './components/News';
    import Product from './components/Product';
    class App extends Component {
      render() {
        return (
            <Router>
              <div>           
                  <header className="title">
                    <Link to="/">首页</Link>
                    <Link to="/news">新闻</Link>
                    <Link to="/product">商品</Link>
                  </header>
                   <br />
                   <hr />
                   <br />
                  <Route exact path="/" component={Home} />
                  <Route path="/news" component={News} />    
                  <Route path="/product" component={Product} />                 
              </div>
          </Router>
        );
      }
    }
    export default App;

    3、动态路由以及获取传值案例

    import React, { Component } from 'react';
    import { Link } from "react-router-dom";
    class Product extends Component {
        constructor(props) {
            super(props);
            this.state = { 
                list:[
    
                    {
                        aid:'11',
                        title:'我是商品1111'
                    },
                    {
                        aid:'222',
                        title:'我是商品222'
                    },
                    {
                        aid:'3',
                        title:'我是商品333'
                    },
                    {
                        aid:'4',
                        title:'我是商品4444'
                    }
                ]
             };
        }
         //生命周期函数
        componentDidMount(){
            // this.props.location.search
            //获取get传值
            console.log(url.parse(this.props.location.search,true));
            var query=url.parse(this.props.location.search,true).query;
            console.log(query)
        }
        render() {
            return (
                <div>
                    我是商品组件
                     <ul>
                        {
                            this.state.list.map((value,key)=>{
                                return (
                                    <li key={key}>                                   
                                        <Link to={`/productcontent?aid=${value.aid}`}>{value.title}</Link>
                                    </li>
                                )
                            })
                        }
                    </ul>
                </div>
            );
        }
    }
    export default Product;
  • 相关阅读:
    python基础学习24----使用pymysql连接mysql
    HTML基本标签
    python基础学习20----线程
    MySQL基础操作
    python永久添加第三方模块,PYTHONPATH的设置
    MySQL压缩包zip安装
    汇编语言debug命令与指令机器码
    python基础学习23----IO模型(简)
    python基础学习22----协程
    python基础学习21----进程
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10431207.html
Copyright © 2011-2022 走看看