Javascript 反应-如何创建动态(使用路由器)详细信息页面

Javascript 反应-如何创建动态(使用路由器)详细信息页面,javascript,reactjs,react-router,Javascript,Reactjs,React Router,这是我的数据(在单独的JS文件中): 现在,我正在映射数据,如下所示: - Articles.js file const articleItems = this.state.someData.map(item => <ArticleItem key={item.id} item={item} />) return( <div>{articleItems}</div> ) -Articles.js文件 cons

这是我的数据(在单独的JS文件中):

现在,我正在映射数据,如下所示:

- Articles.js file

const articleItems = this.state.someData.map(item => 
         <ArticleItem key={item.id} item={item} 
      />)

return(
   <div>{articleItems}</div>
)
-Articles.js文件
const articleims=this.state.someData.map(项=>
)
返回(
{articleItems}
)
并列出仅在ArticleItem组件中显示文章标题的所有文章

- articleItem.js file

return(
   <h1>{props.item.title}</h1>
)
-articleItem.js文件
返回(
{props.item.title}
)

如何创建,以便您可以单击列表中的文章标题,然后转到该特定文章(url应为/article/id)并显示该特定文章的所有数据?

使用React Routers Version 4实现此目的

Article.js文件-

const articleItems = this.state.someData.map(item => 
        <Route key={item.id} path=`/${item.title}/${item.id}` render={
            <ArticleItem 
                {...props}
                item={item}
            />

        } /> 
      />)

return(
   <div>{articleItems}</div>
)
const-articleims=this.state.someData.map(item=>
/>)
返回(
{articleItems}
)
在要渲染的文件中,链接的渲染方式如下所示

render() {
    return(
        <Link to=`/${item.title}/${item.id}`>{item.title}</Link>
    );
}
render(){
返回(
{item.title}
);
}
别忘了导入路由和链接。
希望这有帮助。

使用React路由器版本4来实现这一点

Article.js文件-

const articleItems = this.state.someData.map(item => 
        <Route key={item.id} path=`/${item.title}/${item.id}` render={
            <ArticleItem 
                {...props}
                item={item}
            />

        } /> 
      />)

return(
   <div>{articleItems}</div>
)
const-articleims=this.state.someData.map(item=>
/>)
返回(
{articleItems}
)
在要渲染的文件中,链接的渲染方式如下所示

render() {
    return(
        <Link to=`/${item.title}/${item.id}`>{item.title}</Link>
    );
}
render(){
返回(
{item.title}
);
}
别忘了导入路由和链接。
希望这有帮助。

我以前检查过的可能的副本,但不幸的是,它对我没有帮助。也许我做错了什么。可能是我以前检查过的副本,但不幸的是它对我没有帮助。也许我做错了什么。