замените ваш метод рендеринга на этот
render() {
return (
<View style={styles.container}>
<View>
<FlatList
data={this.state.imgData}
renderItem={({item, index}) =>
<View style={{flex: 1, alignItems: "center", justifyContent: "center", marginBottom: 20, borderBottomColor:"white", borderBottomWidth:1}}>
<Text>{item.date}</Text>
<Image style={{width: 300, height: 350}} source={{ uri: item.key }} />
<TouchableOpacity style={styles.menuButton} onPress={() => this.removeItemValue(item.key)}>
<Text>Delete</Text>
</TouchableOpacity>
</View>
}
/>
</View>
</View>
);
, в то время как при отображении вам необходимо выполнить обратный вызов, используя функцию стрелки
, если вы хотите удалить любое значение из массива, передаваемого index
в onPressКнопка, чтобы вы могли легко удалить любое значение, используя индекс.
- . Убедитесь, что после удаления значения из хранилища обновите свое состояние, поскольку у вас есть состояние рендеринга в плоском списке, и вы удаляете из хранилища.