【发布时间】:2018-03-28 20:19:39
【问题描述】:
我的 FlatList 似乎不需要任何 keyExtractor。如果我不提供任何 keyExtractor,它就可以工作。如果我提供一个带有垃圾代码的 keyExtractor,它也可以工作。
如果我没有看到任何错误,这是否意味着放弃 keyExtractor 是安全的?我什么时候需要?
_renderItem = ({item}) => (
<Text style={styles.item}>
{item.name[0].value}
</Text>
)
然后在我的 render() 中,除其他外,我有...
<FlatList style = {styles.flatlist}
data={this.state.data}
renderItem={this._renderItem}
/>
【问题讨论】:
-
只是为了澄清,当你说你“看不到错误”时,这是否意味着你也看不到任何警告?如果我没记错的话,不定义
keyExtractor将默认使用index作为键。这也可能是因为您的data可能有一个key属性,如果定义了该属性,它将自动使用。考虑编辑您在data中的数据并将其添加到问题中。 -
迈克尔,我没有看到任何警告。但是,当我下次从事该项目时,警告确实出现了。不知道为什么延迟。有关更多信息,请参阅我的答案。谢谢
标签: react-native react-native-flatlist