繁体   English   中英

React.js 显示列表的详细信息

[英]React.js show detailed info of a list

如何实现从搜索功能中显示详细页面?

例如,我将 API 调用中的数据呈现在列表中,但随后我想点击“更多”链接并显示所选列表的详细页面

示例链接: https : //master.d1y6j5rvhgf8yj.amplifyapp.com/使用初始数据它可以工作,但在我搜索后它仍然直接指向初始数据

const findArticlesQuery = (query) => {
 axios.get(url)
  .then(res => {                
   [res.data].map((val) =>(        
     setArticleData(val.articles)        
   ))                                     
   }).catch(error => {
       console.log(error.response)
   });
 }

useEffect(
 () =>{
  findArticlesQuery();
  } ,[]
) 

然后我有文章列表但不确定如何创建详细页面,

<ArticleListItem articlesData={articleData}/> 

const articleDataItem = articlesData.map((value, idx)=> (   
  <li key={idx} className="collection-item">
    <span>{value.title}</span>
    <a href={`/article/${idx}`}>More</a>     <--- I want to use this button to show detailed info            
  </li>
))   

我可以使用路由器和匹配参数来实现这一点,但只能使用初始数据,如果我使用搜索功能并且文章数据已更新,则链接仍将获得初始数据而不是搜索到的数据

我还必须说,我在 App 组件上有 useEffect,它在我转到另一个页面时重置数据

在详细信息页面中,您不应该使用列表索引来显示详细信息。

您应该使用数据的唯一属性来显示详细信息。 示例:数据:[{code: 'abc', title: '...'}, {code: '', title: ''}...]

const articleDataItem = articlesData.map((value, idx)=> (   
  <li key={value.code} className="collection-item">
    <span>{value.title}</span>
    <a href={`/article/${value.code}`}>More</a>     <--- I want to use this button to show detailed info            
  </li>
))

在详情页,按收到的代码值搜索

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM