【问题标题】:ReactNative SectionList Missing Key Warning [duplicate]ReactNative SectionList缺少关键警告[重复]
【发布时间】:2017-06-26 23:43:02
【问题描述】:

我正在关注 SectionLists (https://facebook.github.io/react-native/docs/using-a-listview.html#content) 上的 ReactNative 教程并遇到警告消息。

警告状态

“警告:VirtualizedSectionList:您提供的section 缺少key 属性。

“VirtualizedList:缺少项目的键,请确保在每个项目上指定一个键属性或提供自定义 keyExtractor”

有人可以帮助解决这个警告吗?

编辑 所以我能够通过向部分添加一个键来解决第一个警告

sections={[
            {key: 'D', title: 'D', data: ['Devin']},
            {key: 'J', title: 'J', data: ['Jackson', 'James', 'Jillian',   'Jimmy', 'Joel', 'John', 'Julie']},
          ]}

但我仍然收到 1 个实例的第二个错误。

【问题讨论】:

    标签: react-native


    【解决方案1】:

    我之前遇到过同样的错误。定义 keyExtractor 属性为我解决了这个问题。

    https://facebook.github.io/react-native/docs/sectionlist.html#keyextractor

    你试过了吗?

    【讨论】:

    • 我还没有。你介意告诉我如何使用它吗?我对此完全陌生。
    • 你可以像这样添加它keyExtractor: (item, index) => 'key-${index}'
    【解决方案2】:

    第一个错误是要求您为每个部分对象添加键属性,第二个错误是要求您为数据数组中的每个项目添加一个键。键有助于反应确定已添加/更改/删除哪些项目。所以你可能想把你的数据改成这样:

    data: [{ key: //add a unique key here or use keyExtractor, name: 'Devin' }, ...]
    

    【讨论】:

    • 添加唯一键无关紧要。 keyExtractor 属性会自动为每个对象添加一个唯一键。
    • 是的...这就是为什么我说要添加唯一密钥或使用 keyExtractor。你应该做一个或另一个。
    猜你喜欢
    • 2019-07-09
    • 2013-07-14
    • 2015-10-28
    • 2010-10-08
    • 2015-11-27
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    相关资源
    最近更新 更多