亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Reaction-路由器V4中傳遞與歷史相同的參數。推送/鏈接/重定向?

如何在Reaction-路由器V4中傳遞與歷史相同的參數。推送/鏈接/重定向?

守候你守候我 2019-07-09 12:33:59
如何在Reaction-路由器V4中傳遞與歷史相同的參數。推送/鏈接/重定向?如何傳遞參數this.props.history.push('/page')反應-路由器v4?.then(response => {        var r = this;         if (response.status >= 200 && response.status < 300) {              r.props.history.push('/template');           });
查看完整描述

3 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

首先,你不需要var r = this;就像這個if statement引用回調本身的上下文,因為您使用的是箭頭函數,它引用的是Reaction組件上下文。

根據醫生的說法:

歷史對象通常具有以下屬性和方法:

  • 長度-(數字)歷史堆棧中的條目數
  • 操作-(字符串)當前操作(推送、替換或彈出)
  • 位置-(對象)當前位置??赡芫哂邢铝袑傩裕?/trans>

    • 路徑名-(字符串)URL的路徑
    • 搜索-(字符串)URL查詢字符串
    • 散列-(字符串)URL散列片段
    • 狀態-(字符串)位置特定的狀態,當這個位置被推送到堆棧上時,它被提供給例如Push(path,state)。僅在瀏覽器和內存歷史記錄中可用。
  • 推動(路徑,[狀態])-(函數)將一個新條目推到歷史堆棧上
  • 替換(path,[state])-(函數)替換歷史堆棧上的當前條目
  • Go(N)-(函數)通過n個條目移動歷史堆棧中的指針
  • GoBack()-(函數)等價于go(-1)
  • GoForward()-(函數)等價于go(1)
  • 塊(提示)-(函數)阻止導航

因此,在導航時,可以將道具傳遞給歷史對象,如

this.props.history.push({
  pathname: '/template',
  search: '?query=abc',
  state: { detail: response.data }})

或類似于Link組件或Redirect元件

<Link to={{
      pathname: '/template',
      search: '?query=abc',
      state: { detail: response.data }
    }}> My Link </Link>

,然后在用/template路由,您可以訪問通過的道具

this.props.location.state.detail

還請記住,當使用道具中的歷史記錄或位置對象時,您需要將組件連接到withRouter.

根據文件:

帶路由器

您可以訪問歷史對象的屬性和最近的<Route>'s匹配通過withRouter高階部件。withRouter每次路由發生變化時,都會重新呈現其組件。<Route>渲染props: { match, location, history }.


查看完整回答
反對 回復 2019-07-09
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

如果您需要傳遞URL參數

泰勒·麥金尼斯在他的網站上做了一個很好的解釋,鏈接到郵政

下面是代碼示例:

  1. 推組件:

    this.props.history.push(/home:${this.state.userID})

  2. 在路由器組件上定義路由:

    <Route path='/home:myKey' component={Home} />

  3. 關于家庭部分:

    componentDidMount(){        const { myKey } = this.props.match.params        console.log(myKey ) }


查看完整回答
反對 回復 2019-07-09
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

你可以用,

this.props.history.push("/template", { ...response })this.props.history.push("/template", { response: response })

然后,您可以從/template組件由以下代碼組成,

const state = this.props.location.state

以下是鏈接API文檔


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 737 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號