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

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

請問使用Reaction路由器V4以編程方式導航

請問使用Reaction路由器V4以編程方式導航

守著一只汪 2019-08-02 11:02:08
使用Reaction路由器V4以編程方式導航我剛剛換了react-router從第3節到第4節。的成員函數中如何以編程方式導航。Component..在.handleClick()函數,我想導航到/path/some/where在處理了一些數據之后。我以前是這樣做的:import { browserHistory } from 'react-router'browserHistory.push('/path/some/where')但我在v4中找不到這樣的接口。如何使用v4導航?
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

做這件事最簡單的方法是:

this.props.history.push("/new/url")

注:

  • 您可能想通過

    history prop

    從父組件到組件,如果操作不可用,則調用該操作。



查看完整回答
反對 回復 2019-08-03
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

在遷移到Reaction時,我遇到了一個類似的問題-Routerv4,因此我將嘗試在下面解釋我的解決方案。

請不要認為這個答案是解決這個問題的正確方法,我想當ReactiveRoutv4變得更加成熟并離開beta時,很有可能會出現更好的東西(它甚至已經存在,而我只是沒有發現它)。

就上下文而言,我遇到了這個問題,因為我偶爾使用Redux-Saga以編程方式更改歷史對象(例如用戶成功身份驗證時)。

在Reaction路由器文檔中,查看<Router> 元件你可以看到你有能力通過一個道具傳遞你自己的歷史對象。這就是解決方案的本質-我們提供歷史對象React-Router全球模塊。

步驟:

  1. 安裝歷史NPM模塊-

    yarn add history 或 npm install history --save

  2. 創建一個名為history.js在你的App.js級別文件夾(這是我的首選)

    // src/history.jsimport createHistory from 'history/createBrowserHistory';export default createHistory();`
  3. 將此歷史記錄對象添加到您的路由器組件中,如下所示

    // src/App.jsimport history from '../your/path/to/history.js;'<Router history={history}>// Route tags here</Router>
  4. 通過導入來調整URL,就像以前一樣你的全球歷史目標:

    import history from '../your/path/to/history.js;'history.push('new/path/here/');

現在,一切都應該保持同步,您還可以訪問一種以編程方式而不是通過組件/容器設置歷史對象的方法。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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