Javascript FlatList vs map react native

Javascript FlatList vs map react native,javascript,reactjs,react-native,ecmascript-6,Javascript,Reactjs,React Native,Ecmascript 6,我最近开始使用react native,并且遇到了FlatList组件。使用react时,我总是将map与数组一起使用 我使用的是FlatList,但是当我想更改FlatList中项目的弹性方向时出现了问题,所以我恢复使用map 以下是使用这两种方法的两个示例: map { this.state.images.map(image => { return ( <UsersImage key={ image } source={{ uri: im

我最近开始使用
react native
,并且遇到了
FlatList
组件。使用
react
时,我总是将
map
与数组一起使用

我使用的是
FlatList
,但是当我想更改
FlatList
中项目的
弹性方向时出现了问题,所以我恢复使用
map

以下是使用这两种方法的两个示例:

map

{
    this.state.images.map(image => {
       return (
          <UsersImage key={ image } source={{ uri: image }} />
        )
    })
}

有人能解释一下为什么应该在地图上使用
FlatList
而不是
map
吗?

FlatList有延迟加载功能(它只显示屏幕上的内容,所以如果你有一个巨大的列表,它的性能会更好)。顺便说一句,如果需要更改flex方向,您可以将其设置为水平-只需传递
horizontal
prop(相当于说
horizontal={true}

如果您有一个简单的列表(~10个项目,没有滚动,没有太复杂的东西无法加载),那么使用FlatList还会更好吗?试着弄清楚什么时候有必要。我不认为这会带来任何明显的好处,因为10个项目是非常少的,而且听起来好像你正在同时展示它们。因此,无论您使用
FlatList
还是其他工具,它们都将被呈现。在那种情况下,我绝对不会考虑使用
FlatList
。不过,一般来说,您可以直接使用
FlatList
map
进行比较,使用本文中的一些想法,看看它对您的情况是否有帮助。
<FlatList
    data={ this.state.images }
    renderItem={({item}) => {
        return (
            <UsersImage source={{ uri: item }} />
        )
    }}  
   keyExtractor={(item, index) => index}
/>