React Native 和 FlatList:尝试获取超出范围索引 NaN 的框架

Gay*_*d.P 1 javascript react-native react-native-flatlist

我是 React Native 的初学者。我有一个this.state.forums具有以下值的变量:

\n\n
{\n    "7": {\n        "id": 7,\n        "wording": "Loisirs, vie sociale et d\xc3\xa9bats"\n    },\n    "3": {\n        "id": 3,\n        "wording": "Forums"\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是当我写时:

\n\n
<FlatList\n    data={this.state.forums}\n    renderItem={({ item }) => <Item title={item.wording} />}\n    keyExtractor={item => item.id.toString()}\n/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有这个错误:

\n\n
\n

不变违规: 不变违规:尝试获取超出范围索引 NaN 的框架

\n
\n\n

你能帮助我吗 ?

\n\n

你知道如何在 keyExtractor 中分​​配密钥(不是item.id)吗?

\n

Val*_*ery 10

FlatList 希望其数据采用数组形式。你给它一个对象。获取 Object.values 就可以了。类似data={Object.values(this.state.forums)}甚至更好的是,将论坛存储在状态中作为数组。