Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 填充的数组项上的After map函数似乎为空_Javascript_Reactjs_User Interface_Return_Map Function - Fatal编程技术网

Javascript 填充的数组项上的After map函数似乎为空

Javascript 填充的数组项上的After map函数似乎为空,javascript,reactjs,user-interface,return,map-function,Javascript,Reactjs,User Interface,Return,Map Function,我有一个组件,它用信息呈现两个独立的表。每个表都有自己的数组,通过map函数从中提取数据,并将每个元素转换为表数据元素。第一个表显示正确,但是,当我到达第二个表时,在使用map函数之后,元素看起来是空的 当我在Mozilla浏览器的调试器中检查这个问题时,我看到的是,在第一点上一切都很好——数组不是未定义的,它有它的元素。之后,在map函数中,x元素就是它应该是的元素。不过,当我想从x中选取一个特定的对象时,一切都很好,因为x本身就是一个对象,它包含许多不同的键和值,例如x.name,这个名称是

我有一个组件,它用信息呈现两个独立的表。每个表都有自己的数组,通过map函数从中提取数据,并将每个元素转换为表数据元素。第一个表显示正确,但是,当我到达第二个表时,在使用map函数之后,元素看起来是空的

当我在Mozilla浏览器的调试器中检查这个问题时,我看到的是,在第一点上一切都很好——数组不是未定义的,它有它的元素。之后,在map函数中,x元素就是它应该是的元素。不过,当我想从x中选取一个特定的对象时,一切都很好,因为x本身就是一个对象,它包含许多不同的键和值,例如x.name,这个名称是未定义的。看来钥匙还没有定义。也许我没有正确地存储对象

问题出现在newShips.map的第二个表DOM结构中

return (
    <div className="row">
        <div className="col-md-6">
            <MDBContainer className="float-left">
                <MDBRow>
                    <MDBCol md="6">
                        <p className="h5 text-center mb-4">Create Your Playlist</p>
                    </MDBCol>
                </MDBRow>
                <div>
                    <MDBTable hover>
                        <MDBTableBody>
                            {this.state.info.map(x => {
                                return <Fragment>
                                    <tr>
                                        <td>
                                            {x.name}
                                        </td>
                                        <button onClick={() => this.addToList(x)}>
                                            Add To Playlist
                                            </button>
                                    </tr>
                                </Fragment>
                            })}
                            <button onClick={this.setPreviousPage} className="float-left">previous page</button>
                            <button onClick={this.setNextPage} className="float-right">next page</button>
                        </MDBTableBody>
                    </MDBTable>
                </div>
            </MDBContainer>
        </div>
        <div className="col-md-6">
            <MDBContainer className="float-right">
                <MDBRow>
                    <MDBCol md="6">
                        <p className="h5 text-center mb-4">My Playlist</p>
                    </MDBCol>
                </MDBRow>
                <div>
                    <MDBTable hover>
                        <MDBTableBody>
                            {newShips.map(x => {
                                return <ul>
                                    <li>
                                        {x.name}
                                    </li>
                                    <button>Remove from Playlist</button>
                                </ul>
                            })}
                            <button onClick={this.setPreviousPage} className="float-left">previous page</button>
                            <button onClick={this.setNextPage} className="float-right">next page</button>
                        </MDBTableBody>
                    </MDBTable>
                </div>
            </MDBContainer>
        </div>
    </div>
)

我希望显示对象的名称键,但如果x对象有值,为什么名称属性未定义?

如果数组不为null,请尝试下面的代码段- var self=这个

self被用来维护对原始文档的引用,即使上下文在变化

现在,

希望有帮助!
祝你好运

显然今天早上我把它整理好了!问题是->在控制台将数组记录到浏览器中后,我注意到在对象的开头有这样一个“0”:

0: Object { name: "EF76 Nebulon-B escort frigate", model: "EF76 Nebulon-B escort frigate", manufacturer: "Kuat Drive Yards", … }
因为我映射的数组里面有很多数组,每个数组都包含每个单独的对象和这个“0”,所以我想可能与索引有关。所以我放了一个[0]:

{ship[0].name}

这就是成功

请创建一个,以便有人能够更轻松地帮助您。感谢您的尝试!不幸的是,在我在render方法中定义并替换它之后,它显示了相同的结果。。。
{ship[0].name}