【问题标题】:getting empty value from this.props.match.params while it is showing in the react dev tools从 this.props.match.params 获取空值,而它在反应开发工具中显示
【发布时间】:2018-06-11 07:12:45
【问题描述】:

您好,我正在尝试从我的 react 路由器访问我的参数,但它总是向我显示一个空对象。

这是我的代码:

    <Switch>
    <Route exact path='/' render={(props) => (<PhotoWall {...this.props}/>)}/>
    <Route path='/single/:id' render={(props) => (<Single {...this.props}/>)}/>
    </Switch>

我可以在反应开发工具中看到我的参数的价值。但我无法在 this.props.match.params 中访问它。

【问题讨论】:

  • 能否请您发布您用来访问它们的代码?
  • @Cleiton 嘿 cleiton,我像这样访问它:this.props.match.params,我一直在获取 null

标签: reactjs react-router react-redux react-router-redux


【解决方案1】:

看起来您正在调试组件的状态,而不是您正在处理的组件道具(屏幕截图上方有一个 State 标签)?

【讨论】:

  • 你是对的。我检查了状态下的参数,它是空的。我不确定我做错了什么。我如何将它包含在道具中
  • 您在与路由关联的组件状态中拥有 params 对象,因此您只需将其作为道具传递给目标组件。
  • 这很好。玩得开心:)
  • @slimboy 很确定 Tarik 会很感激你标记这个答案。
猜你喜欢
  • 2019-01-27
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 2016-03-20
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多