繁体   English   中英

React.js row.map不是函数

[英]React.js row.map is not a function

我在创建反应表时遇到问题,确实有此代码

render() {
    var tableData = [
      {name: this.state.users}
    ];
    var tableRow = [];
     for(var x = 1; x <= this.state.users.lenght; x++) {
    tableRow.push(this.state.users[x]);
    if (x % 4 == 0) {
        tableData.push(tableRow);
        tableRow = [];
    }
}

    return (
        <Table1>
        {tableData.map((row, index) => {
            return (
                <tr key={row + index}>
                    {row.map((cell, index) => {
                        return (
                            <td key={"cell_" + index}>{cell}</td>
                        );
                    })}
                </tr>
            );
        })}
   </Table1>

在我的tableData我有一些可以正确检索的firebase数据,但是我将其放置到表单元格时遇到了问题,实际上,使用此表代码时出现错误“ TypeError:row.map不是函数”,我该如何解决? 谢谢 :)

编辑:为tableData添加console.log 在此处输入图片说明

.map是数组的方法,而tableData[0]不是数组,而是对象( {name: this.state.users} )。 目前尚不清楚那里正在做什么,也许您可​​以删除它? tableData[1]开始都是数组,应该正确呈现。

首先, tableData包含第一个值{name: this.state.users} ,它不是数组,因此row.map将失败。

其次,有在一个错字length

for(var x = 1; x <= this.state.users.length; x++) {

.map仅在数组上可用,在您的情况row也不是数组(tableData[0] is not array)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM