React中动态表格数据无法渲染问题求助
问题分析与解决
你的代码核心问题在于使用了forEach而非map生成表格行:
forEach是纯遍历方法,执行后返回undefined,React无法从undefined中渲染出任何元素;- 外层的
props.data.map也没有返回Object.entries处理后的结果,导致整个循环没有产出可渲染内容。
修正后的代码如下:
expandable={{ expandedRowRender: () => { return ( <table> <tbody> {props.data.map(obj => { // 用map替代forEach,同时返回遍历生成的行数组 return Object.entries(obj).map(([key, value]) => { return ( <tr key={`${key}-${value}`}> {/* 添加唯一key,避免React警告 */} <td>{key}</td> <td>{value}</td> </tr> ) }) })} </tbody> </table> ) }, }}
额外提示:给每个<tr>添加唯一key属性是React列表渲染的规范要求,能避免不必要的性能损耗和控制台警告。
内容的提问来源于stack exchange,提问作者Bisma
相关产品推荐
相关产品推荐

