reactjs - 从对象数组生成表
问题描述
如果我有这样的状态:
state = {
Data: [
{
inputArr: [1, 2, 3],
},
{
inputArr: [1, 2, 3],
},
{
inputArr: [1, 2, 3],
}
]
};
我想从输入 Arr 制作一个表格,这样我就有 3 行 3 列,它会按顺序排列,123,123,123
我想过双地图,但它不起作用,有没有更好的方法?
const test=this.state.data.map( (val)=>{
val.map( (val2)=>{
<tr>
return (
<th> val2 </th>
)
}
</tr>
}
解决方案
我看到您已经接受了答案,但我想详细说明您的代码有什么问题。
render() {
const test=this.state.Data.map((val, index1)=>(
<tr key={index1}>
{val.inputArr.map( (val2, index2) => <td key={index2}>{val2}</td> )}
</tr>
))
return <table>{test}</table>;
}
- JavaScript 区分大小写,您的属性
Data
不是data
. - 小心使用正确的
{}
或()
箭头功能。使用{}
意味着您可以进行多个语句并显式返回某些内容。使用()
将自动返回表达式。 - 要在 React 中输出一个值,
{}
就像我做的那样包装它{val2}
- 给定您的数据结构,您必须
inputarr
在访问内部数组时使用该属性。 key
在元素列表上使用 a 。您可以在此处阅读有关 react 中的键的信息。
推荐阅读
- mysql - 无法使用 MAX_USER_CONNECTIONS 在 MariaDB 中创建用户
- flutter - 如何使图像填充其父容器?
- sql-server - 为什么删除索引会导致执行插入语句?
- python - 如何通过每次对列进行子处理来在熊猫中创建新行?
- c# - 如何将代码模块(.cs)显示为列表框中的项目?
- javascript - 如何在 React App 中实现全局表单验证?
- r - R 中的多项选择:如何使用 dplyr/tidyr 整理调查数据?
- python - 更改正则表达式 python 中的行
- sql - 如何避免我的mysql查询中的重复?
- javascript - 如何获取svg 中标签的路径和形状的数据