添加查询时this.props.location返回未定义

时间:2019-02-05 22:54:04

标签: reactjs react-router

我需要在网址中添加一个类似mobile=true的查询,以获取经过稍微修改的页面。在App.js const mobileAp = location.search.indexOf("mobile=true") > -1;中添加以下代码时,一切正常。但是,当我尝试使用相同的方法在另一个模块中获取URL时,他返回了Cannot read property 'search' of undefined。当我在没有附加参数的情况下访问链接时,一切正常。请告诉我,怎么回事?

我试图复制所有状态,导入App.js中可用的所有模块,但这不起作用...

2 个答案:

答案 0 :(得分:0)

import { withRouter } from 'react-router-dom'
.... 
....
export default withRouter(YourComponent) // Component that needs access to location

答案 1 :(得分:0)

我不明白问题出在哪里。

使用下面的代码,我终于能够获得必要的数据并避免遭受酷刑

query: T.shape({
        mobile: T.bool.isRequired
        }).isRequired
const test = get(this.props, 'location.query.mobile');