繁体   English   中英

在 React JS 中处理来自异步请求的数据

[英]Handling data from Async requests in React JS

我有一个 class 组件,我在其本地道具中从异步请求中获取数据。 这些数据是数组的形式,我循环并显示一些列表元素。 第一次渲染组件时,我收到空数组,然后从服务器接收填充数组。 下次组件渲染时,我再次收到空数组,这意味着本地 props 中的数据现在是 null,这是有道理的。 任何解释如何处理,所以我填充了数组。

请参见下面的代码:

const {List} = this.props; //data in local props of a component
<ListGroup>
    {
        List.map((f, index) => {
            return (
                <ListGroup.Item 
                    action
                    href="" 
                    key={f.get('ID')}
                    value = {f.get('ID')}
                    onClick={this.handleClick}
                >
                    {f.get('NAME')}
                </ListGroup.Item>
            )
        })
    }
</ListGroup> 

然后我有一些按钮可以在两个组件之间来回切换。 当我想切换到这个列表时,props 中的本地数据是未定义的,或者我收到错误消息“TypeError: Cannot read property 'map' of undefined”。 希望这就足够了,不知道如何在这里显示完整的代码。

您可以进行空检查,Like 列表可用且列表长度不为零。

 <ListGroup>
                  {List && List.length && List.map((f, index) => {
                      return (<ListGroup.Item 
                              action href="" 
                              key={f.get('ID')}
                              value = {f.get('ID')}
                              onClick={this.handleClick}
                              >
                              {f.get('NAME')}
                              </ListGroup.Item>
                              )
                  })}
                  </ListGroup> 

暂无
暂无

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

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