【问题标题】:FlatList iterating over indexFlatList 迭代索引
【发布时间】:2017-11-05 16:01:11
【问题描述】:

我想使用如下索引:

    const peopleIndex = {
      Alex: {
       title: 'Programmer',
       job: 'Working with React'
      },
      Dave: {
        title: 'DBA',
        job: 'Managing the database'
      }
    }

用于 FlatList 的 数据。我预计必须使用 Object.keyskeyExtractor 属性,但我无法实现。

【问题讨论】:

  • 什么是“麻烦”?
  • 可能缺乏使用 FlatList 的经验。我正在运行这个:<FlatList data={Object.keys(peopleIndex)} keyExtractor={(item, index) => peopleIndex[item]} renderItem={({item}) => {peopleIndex[item]}} /> 没有输出和警告:警告:遇到两个孩子使用相同的键,[object Object]。键应该是唯一的...

标签: react-native react-native-flatlist


【解决方案1】:

下面的代码为 FlatList 的 data 属性准备了一个适当形状的数组,基本上实现了我想要的。只是可能不是以一种非常优雅或有效的方式。

peopleArr = [];
for(item in peopleIndex) {
  peopleArr.push({key: item});
}

【讨论】:

  • 只是一个注释,使用名称作为 Key 不是一个好主意。您将无法显示姓名重复的人员。 RN 会忽略它们。
  • 我想出了一个不好的例子。我知道键应该是唯一的。问题是您无法从索引加载 FlatList。您必须将其转换为 FlatList 需要的特定类型的数组。
  • 在你的for循环中,你不能只创建一个索引并将索引值分配给key吗?
猜你喜欢
  • 2019-12-12
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2011-07-23
  • 2020-08-11
  • 2014-01-23
  • 2012-10-08
相关资源
最近更新 更多