javascript - 如何将数组项一个一个地添加到 DOM 中?

标签 javascript reactjs loops iteration jsx

Array.map 完成其循环时,我想将数组中的项目一个一个地添加到 DOM,而不是批量添加。 我该怎么做?

<div className="gallery-content">
    <div className="content-to-display">
          {iconsToDisplay
             .map((icon, index) => 
                <GalleryItem 
                   key={index}
                   index={index} 
                   item={icon}
                   size={iconSize}
                   isSelected={index===selectedIconIndex}
                   onClick={this.setIconIndex}/>)}
    </div>                
</div>

最佳答案

我认为一个方便的方法是先渲染加载微调器或占位符,然后在 componentDidMount 中的某处执行大量数据获取。 .

这样一来,您就不必延迟或手动调用 appendChild,因为即使是大量的组件也会在最初快速呈现。

UPD:看这个jsfiddle例如。首先,画廊项目使用初始 loading... 消息呈现,这非常快,然后我在 componentDidMount 中模拟了重载,它已经更新了状态“加载”内容,React 已成功重新呈现它们。

关于javascript - 如何将数组项一个一个地添加到 DOM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295273/

相关文章:

javascript - 无法使用 json 链接获取某些 youtube 视频的统计信息

reactjs - react : how to properly type the HOC component?

arrays - 如何遍历字典数组?

android - 如何在小部件中循环文本?

c# - C# 中的计数和循环

javascript - 语言之间递归处理的差异

javascript - 单击以使用 Javascript/ES6 更改内部子项和其他部分

javascript - Angular 2 - ngModel 绑定(bind)在动态添加的 DOM 元素中不起作用

javascript - 在 react-select 中的 input 元素前添加一个图标

javascript - 如何将自定义图标添加到NativeBase