[React] - 当你在 this.props 中找不到 history 时

React 中正常来说只有在 <Route> 包裹的组件中才能在 this.props 属性中找到 history 对象
但有些情况下我们就是希望在一个没被 <Route> 包裹的组件中用到 history 对象,比如:异步加载数据后跳转

网上有些方法提到可以在 class 前加上 @withRouter 的修饰

import { withRouter } from 'react-router-dom'

@withRouter
class ...

这种做法有时候会出现 Support for the experimental syntax 'decorators-legacy' isn't currently enabled 的报错
可以试着改成

export default withRouter(YourComponent)

或者(如果你还需要 connect

export default withRouter(connect(mapStateToProps)(YourComponent))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • This project was bootstrapped with Create React App. Belo...
    unspecx阅读 5,226评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • 本文将开始详细分析如何搭建一个React应用架构。 一. 前言 现在已经有很多脚手架工具,如create-reac...
    字节跳动技术团队阅读 4,399评论 1 23
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,449评论 0 10
  • 有感于昨天看到一个姑娘发的微博,不断回忆从初中到大学到研究生阶段遇到的各种姑娘,有的成了一辈子的朋友,有的匆匆过客...
    少女心的怪阿姨阅读 535评论 0 0