React中如何筛选subject为geo的用户名并通过map渲染
解决方案
首先需要修正你原代码里的一个小问题:map回调中应该使用item.name而非user.name,因为user是整个数组,item才是当前遍历到的单个元素。
要只渲染subject为"geo"的用户名,有两种常用实现方式:
方法一:先过滤再映射(推荐)
先用filter方法筛选出符合条件的元素,再对筛选后的数组执行map渲染,逻辑清晰且性能更优:
{user .filter(item => item.subject === "geo") .map((item, key) => ( <tr key={key}> <td>{item.name}</td> </tr> )) }
方法二:在映射中添加条件判断
如果需要遍历整个数组但仅渲染符合条件的项,可以在map回调里加入判断逻辑,不符合条件时返回null:
{user.map((item, key) => { return item.subject === "geo" ? ( <tr key={key}> <td>{item.name}</td> </tr> ) : null; })}
内容的提问来源于stack exchange,提问作者Inderjeet
相关产品推荐
相关产品推荐

