zoukankan      html  css  js  c++  java
  • react-router-dom

    .js路由跳转:

    1.被Route包裹的组件,直接this.props.history.push("/xx");

      在构造函数中

    constructor(props) {
      super(props);
    }
    其他需要跳转的地方this.props.history.push("/xx");

    2.普通组件可通过使用withRouter(组件)再this.props.history.push("/xx")

    import React from "react";
    import {withRouter} from "react-router-dom";
    
    class MyComponent extends React.Component {
      ...
      myFunction() {
        this.props.history.push("/some/Path");
      }
      ...
    }
    export default withRouter(MyComponent);

    常规导入

    import React from 'react'

    import { BrowserRouter as Router,Route,Link} from 'react-router-dom'

    注意BrowserRouter只能有一个孩子,

    switch用于重定向孩子为Route或者redirect

     ---从上向下匹配,只匹配它的第一个孩子

    1.url带参数/参数

    <Route path="/:id">

    参数获取:this.props.match.params.id

    2.带参数跳转该地址

    <Link to={{

    pathname:'/home' 路径名,

    query:''    参数值

    state:''   参数值保存在state中

    }}   

    a.query传参  this.props.location.query.xx 貌似刷新后该参数状态不会保存

    b.state传参  this.props.location.state.xx

    被Route包裹的组件会有location,match,history等属性,通过this.props获取即可

    <Route path='/xx' component={组件}

    若组件中又有子组件,父组件可属性方式将history等传递给子组件,子组件通过this.props获取

    匹配:

    使用 exact 关键字会精确匹配到该路由下,否则则匹配到满足该路由的路由下。

  • 相关阅读:
    free
    wc
    awk
    wall
    sed
    Genymotion常见问题整合与解决方案
    Genymotion常见问题整合与解决方案
    java.net.MalformedURLException 异常
    java.net.MalformedURLException 异常
    异常:android.os.NetworkOnMainThreadException
  • 原文地址:https://www.cnblogs.com/BlingSun/p/9503992.html
Copyright © 2011-2022 走看看