激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - 詳解React路由傳參方法匯總記錄

詳解React路由傳參方法匯總記錄

2021-11-25 16:13樂聞x JavaScript

這篇文章主要介紹了詳解React路由傳參方法匯總記錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

React中傳參方式有很多,通過路由傳參的方式也是必不可少的一種。

本文記錄項目中會用到的路由傳參方式: 路由跳轉傳參API + 目標路由獲取參數的方式。

一、動態路由

跳轉方法

Link

 <Link to={{ pathname: "/user/add/1" }}>跳轉新增頁面</Link>

history.push

 this.props.history.push("/user/add/1");

獲參方法

this.props.match.params

二、路由query顯示參數

Link跳轉

<Link to={{ pathname: "/user/add", query: { id: 1 } }}>
     跳轉新增頁面
 </Link>

history.push

this.props.history.push({
       pathname: "/user/add",
       //參數
       query: { id: 1 },
      });

獲參方法

this.props.location.query

三、路由state隱式參數

Link跳轉

<Link to={{ pathname: "/user/add", state: { id: 1 } }}>
     跳轉新增頁面
    </Link>

history.push

this.props.history.push({
       pathname: "/user/add",
       state: { id: 1 },
      });

獲參方法

this.props.location.state

代碼DEMO

入口App組件

class App extends React.Component {
 render() {
  return (
   <BrowserRouter>
    <Route path="/user" exact component={User} />
    //動態路由
    <Route path="/user/add/:id?" component={UserAdd} />
    {/* <Redirect to="/user" /> */}
   </BrowserRouter>
  );
 }
}

動態路由Demo

User組件

import React, { Component } from "react";
import { Link } from "react-router-dom";

export default class User extends Component {
 render() {
  return (
   <div>
    <div className="user">User</div>

    {/* <Link to={{ pathname: "/user/add/1" }}>跳轉新增頁面</Link> */}
    <button
     onClick={() => {
      // 1.
      // this.props.history.push("/user/add/1");
      // 2.
      this.props.history.push({
       pathname: "/user/add/1",
      });
     }}
    >
     跳轉新增頁面
    </button>
   </div>
  );
 }
}

UserAdd組件

import React, { Component } from "react";

export default class UserAdd extends Component {
 render() {
  console.log("this.props.match.params:", this.props.match.params);
  return <div>UserAdd</div>;
 }
}

詳解React路由傳參方法匯總記錄 

路由query顯示參數Demo

User組件

import React, { Component } from "react";
import { Link } from "react-router-dom";

export default class User extends Component {
 render() {
  return (
   <div>
    <div className="user">User</div>

    <Link to={{ pathname: "/user/add", query: { id: 1 } }}>
     跳轉新增頁面
    </Link>
    <button
     onClick={() => {
      this.props.history.push({
       pathname: "/user/add",
       query: { id: 1 },
      });
     }}
    >
     跳轉新增頁面
    </button>
   </div>
  );
 }
}

詳解React路由傳參方法匯總記錄 

路由state隱式參數Demo

User組件

import React, { Component } from "react";
import { Link } from "react-router-dom";

export default class User extends Component {
 render() {
  return (
   <div>
    <div className="user">User</div>

    <Link to={{ pathname: "/user/add", state: { id: 1 } }}>
     跳轉新增頁面
    </Link>
    <button
     onClick={() => {
      this.props.history.push({
       pathname: "/user/add",
       state: { id: 1 },
      });
     }}
    >
     跳轉新增頁面
    </button>
   </div>
  );
 }
}

詳解React路由傳參方法匯總記錄

到此這篇關于詳解React路由傳參方法匯總記錄的文章就介紹到這了,更多相關React路由傳參內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_37890289/article/details/110238928

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产午夜亚洲精品午夜鲁丝片 | 久草干| 国产免费一区二区三区最新不卡 | 久久精品国产99久久6动漫亮点 | 一边吃奶一边摸下娇喘 | 中文字幕免费一区 | 美国黄色毛片女人性生活片 | 欧洲色阁中文字幕 | 久久精品9| 亚洲精品有限 | 99热1| 激情视频导航 | 久草最新网址 | 成人午夜精品久久久久久久3d | 国产精品自拍99 | 狠狠操天天射 | 蜜桃91麻豆 | 黑人日比视频 | 久久嗨 | 9999免费视频 | av在线一区二区三区四区 | 国产高清永久免费 | 欧美日韩电影 | 亚洲一区二区三区四区精品 | 久久91精品国产91久久yfo | 国产精品亚洲欧美 | 国产成人精品区一区二区不卡 | 亚洲国产精品久久久久婷婷老年 | 久久人人爽人人爽人人片av高请 | 免费国产在线精品 | 国产一区二区三区在线免费 | 一级成人黄色片 | 国产精品91久久久 | 骚av在线 | 黄色网电影 | 福利在线小视频 | 午夜视频大全 | 国产精品一区二区日韩 | 88xx成人永久免费观看 | 亚洲第一成人久久网站 | 欧美视频一二三区 |