Json React路由器:从Wordpress REST API动态创建页面

Json React路由器:从Wordpress REST API动态创建页面,json,reactjs,react-router,Json,Reactjs,React Router,我已经创建了一个从Wordpress REST API JSON对象检索到的元素数组。我想使用react router,使用其id作为slug,例如(/items/1),使每个元素都有自己的单独页面 我遇到了一些麻烦,还没有弄清楚如何使用react路由器动态创建路由。任何指导都将不胜感激 export default class ItemContainer extends React.Component { constructor(){ super(); this.

我已经创建了一个从Wordpress REST API JSON对象检索到的元素数组。我想使用react router,使用其id作为slug,例如(/items/1),使每个元素都有自己的单独页面

我遇到了一些麻烦,还没有弄清楚如何使用react路由器动态创建路由。任何指导都将不胜感激

export default class ItemContainer extends React.Component {

  constructor(){
      super();
      this.state= {
        items: []
      }
    }

    componentDidMount(){
      var th = this;
      this.serverRequest =
      axios.get('http://website.com/wp-json/wp/v2/item/')
        .then(function(result) {
          th.setState({
          officers: result.data
        });
      })
    }

    componentWillUnmount(){
      this.serverRequest.abort();
    }


    render(){

      const ItemComponents = this.state.items.map((item) => {
        return <Item key={item.id} {...item} />;
      });


      return(
          <div className="item-wrapper">
            {ItemComponents}
          </div>
      );
    }
}
导出默认类ItemContainer扩展React.Component{
构造函数(){
超级();
此。状态={
项目:[]
}
}
componentDidMount(){
var th=这个;
此为.serverRequest=
axios.get()http://website.com/wp-json/wp/v2/item/')
.然后(函数(结果){
塞斯塔({
官员:结果。数据
});
})
}
组件将卸载(){
这是.serverRequest.abort();
}
render(){
const ItemComponents=this.state.items.map((项)=>{
返回;
});
返回(
{ItemComponents}
);
}
}

您可能希望采取的方法是而不是为每个项目创建特定的路线,而是使用一个

您的屏幕可能看起来像这样:

<Route path="/items/:itemId" component={ItemPage} />

如果你真的觉得你必须为每一件物品制定具体的路线,你就需要把手弄脏。

你可能想采取的方法是而不是为每一件物品创建具体的路线,并使用一个新的路线

您的屏幕可能看起来像这样:

<Route path="/items/:itemId" component={ItemPage} />
如果你真的觉得你必须为每一件物品制定具体的路线,你就需要把你的手弄脏