React中通过withRouter获取location等路由信息

       在这一次的项目中,想通过withRouter拿到路由信息,其实项目已经配置好了可以通过connect使用,但总想整点新花样,就自己试了试。

       但是在使用装饰器的@语法时,报了错,首先是提示我项目中无法使用@withRouter这样的写法。下面是配置方法:首先安装babel-plugin-transform-decorators-legacy插件,然后在packjson里进行配置:

"plugins": [
   "transform-decorators-legacy"
 ]

       配置完继续跑项目,然后就出现了新的错误:

You should not use Route or withRouter() outside a Router when using react-router 4 and styled-component in react

遇到这个错误,需要将整个组件包裹在react-touter-dom的BorwserRouter里,这样就可以在项目中正常使用装饰器@语法了

你可能感兴趣的:(React)