React组件TableRow接收props数据却渲染空行,问题出在哪?
React TableRow组件渲染空行的问题解决
问题出在两个核心点:
forEach无法返回可渲染元素:forEach仅负责遍历数组执行回调逻辑,不会返回任何有效结果(实际返回undefined),React 无法从undefined渲染出内容。需要替换为map方法,它会遍历数组并返回处理后的新元素数组,供React识别渲染。- 变量未正确插值:
<td>value</td>里的value是固定字符串,并非你要渲染的变量值,必须用{value}包裹变量,才能将数据插入到<td>标签中。
另外,React要求列表元素必须带有唯一key属性,使用map时建议添加(若数据有唯一ID,优先用ID作为key;示例中用index临时替代),避免控制台警告。
修正后的代码:
render(){ return( <tr> {Object.values(this.props.data).map((value, index) => { return <td key={index}>{value}</td> })} </tr> ) }
内容的提问来源于stack exchange,提问作者Roman Nichi
相关产品推荐
相关产品推荐

