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 关键字会精确匹配到该路由下,否则则匹配到满足该路由的路由下。

  • 相关阅读:
    eslint 入门项目搭建过程
    ES6 模块化笔记
    闭包
    JavaScript 内存相关知识
    Mac 配置Charles,抓取移动设备数据
    jquery.cookie的path坑
    如何模拟click事件,打开一个a标签链接?
    6月份开发问题整理
    js 淡入淡出的tab选项卡
    点击弹出模态框-以登录表单为例
  • 原文地址:https://www.cnblogs.com/BlingSun/p/9503992.html
Copyright © 2011-2022 走看看