You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React自定义renderItems函数调用返回undefined问题求助

问题解决:renderItems函数返回undefined导致无法渲染列表

核心问题

你的renderItems函数没有返回arr.map()的执行结果,函数执行完毕后默认返回undefined,因此调用时控制台输出undefined,也无法渲染列表项。

修复方案

方案1:显式返回map结果

修改renderItems函数,在arr.map()前添加return语句,让函数返回map生成的元素数组:

const renderItems = (arr) => {
    return arr.map(({ id, name }) => {
        return (
            <li className="list-group-item" key={id}>
                {name}
            </li>
        );
    });
};

方案2:使用箭头函数隐式返回

去掉函数体的大括号,利用箭头函数的隐式返回特性,直接返回map的结果:

const renderItems = (arr) => 
    arr.map(({ id, name }) => (
        <li className="list-group-item" key={id}>
            {name}
        </li>
    ));

额外优化建议

初始化peopleList时设置空数组作为默认值,避免接口请求完成前arr为undefined导致map调用报错:

const [peopleList, setPeopleList] = useState([]);

最终调用方式

在return中直接调用renderItems(peopleList)即可,无需包裹console.log(如需调试可单独写在其他位置):

<ul className="item-list list-group">
    {renderItems(peopleList)}
</ul>

内容的提问来源于stack exchange,提问作者MisstKO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:46:42