【问题标题】:React Native FlatList keyExtractor and listKeyReact Native FlatList keyExtractor 和 listKey
【发布时间】:2020-08-27 17:42:44
【问题描述】:

我有多个关于 FlatList 的问题,阅读文档时无法回答。

什么时候需要使用 listKey,什么时候需要使用 keyExtractor?有时,当我有兄弟 FlatLists 时,我必须在每个列表中指定 listKey,如下所示:

      renderItem = (item, index) => (<View key={item.id} />)

      <FlatList
           keyExtractor={({id}) => id}
           listKey="MusicList"
           renderItem={this.renderItem}
       />

       <FlatList
           keyExtractor={({id}) => id}
           listKey="BooksList"
       />

我可以同时拥有 listKey 和 keyExtractor 吗?

到目前为止,我一直在想的是 listKey 就像一个 keyExtractor 但用于列表,并且 keyExtractor 识别列表中的每个项目......对吗?

谢谢。

【问题讨论】:

    标签: javascript reactjs react-native


    【解决方案1】:

    keyExtractor 是一个用于为FlatList 的每个项目提取唯一键的函数。而listKeyVirtualizedList 的唯一标识符。如果在另一个 VirtualizedList 中有多个处于同一嵌套级别的 VirtualizedList,则此键是虚拟化正常工作所必需的。

    从您发布的示例中,keyExtractor 是 Fl​​atLists 每个项目的唯一标识符。而listKey是每个列表的标识符。

    【讨论】:

    • 如果我已将 keyExtractor 传递给我的 FlatList,是否需要在渲染项中传递一个密钥?
    • 不,如果您将 keyExtractor 传递给 FlatList,则不需要像 这样传递密钥
    猜你喜欢
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 2018-04-05
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    相关资源
    最近更新 更多