国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

關(guān)于react-router/react-router-dom v4 history不能訪問(wèn)問(wèn)題的解決

2019-11-19 14:34:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

最近把react-router 升級(jí)了一下, 在使用react-router-dom 是,子組件使用this.props.history  找不到了,看看官方文檔,找了半天也沒(méi)找到,因?yàn)槲沂窃诋惒綀?zhí)行完后才跳轉(zhuǎn)頁(yè)面,需要用到push 或者replace,怎么辦啊,國(guó)內(nèi)知識(shí)都是你復(fù)制我的,我復(fù)制你的,都特么垃圾。只能去Google,

最終找到了答案:(看代碼一目了然)

解決方法

首先使用router

import React, { Component } from 'react';import { BrowserRouter, Route } from 'react-router-dom';import { Provider } from 'mobx-react';import stores from '../store/index';import Bundle from '../components/bundle';import Hello from 'bundle-loader?lazy!../components/hello.jsx';// 這是按需加載,對(duì)于現(xiàn)在討論的問(wèn)題沒(méi)有影響const HelloAPP = () => ( <Bundle load={Hello}>  {(Hello) => <Hello />} </Bundle>);export default class App extends Component { constructor(props) { super(props); } render() { return (  <Provider { ...stores }>  <BrowserRouter basename="/">   <Route path="/" component={HelloAPP}/>  </BrowserRouter>  </Provider> ); };}

接著是子組件的使用history

import React, { Component } from 'react';// 需要這步,你要npm 這個(gè),import PropTypes from 'prop-types';export default class Hello extends Component { constructor(props) { super(props); } // 這一步是重點(diǎn) static contextTypes = { router: PropTypes.object.isRequired }; test = () => { console.log(this.context); setTimeout(() => {  this.context.router.history.push("/otherPath"); }, 1000); }; render() { return (  <div>  <button onClick={this.test}>按鈕</button>  </div> ); };}

讓我們看看this.context :

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿图什市| 垣曲县| 阿克| 临颍县| 墨脱县| 垣曲县| 冀州市| 白城市| 互助| 辽宁省| 登封市| 丹凤县| 灵宝市| 安仁县| 丰顺县| 庆元县| 黑河市| 珲春市| 襄城县| 石嘴山市| 贵德县| 三台县| 大丰市| 浑源县| 电白县| 巨鹿县| 大竹县| 民勤县| 望都县| 共和县| 遵义县| 哈密市| 马尔康县| 虹口区| 涿州市| 平原县| 马公市| 尼勒克县| 利津县| 武胜县| 巴东县|