在使用render时react-router-dom this.match.params.id未定义

时间:2019-10-20 20:52:50

标签: reactjs react-router axios react-router-dom

我目前正在尝试使用Axios检索有关要显示在页面上的排列的信息,但是似乎从何处获取信息的URL却有问题。

我遇到了此问题,我只想使用$ {this.match.params.id}从网址中获取ID。

我尝试了这一行代码,在其中我将道具添加到lambda表达式并将其作为对象放入。那是一个错误的建议,但是没有用。

<Route path="/arrangement/:id" render={(props) => ( <ArrangementPage
sponsors={this.state.sponsors} {props} /> )} />

App.js

<Route path="/arrangement/:id" render={() => ( <ArrangementPage sponsors={this.state.sponsors} /> )} />

ArrangementPage.js

  componentDidMount() {
    Axios.get(`/wp-json/wp/v2/arrangements/${this.props.match.params.id}`)
    .then( res => this.setState(
      {
        arrangement: res.data,
        isLoaded: true
      }
    ))
    .catch(err => console.log(err));
  }

Axios.get(/wp-json/wp/v2/arrangements/${this.props.match.params.id})返回一条错误消息,表明未定义this.props.match.params.id。

0 个答案:

没有答案