【发布时间】:2021-07-27 11:08:43
【问题描述】:
我使用 react-native flatlist 来呈现我的数据。当在平面列表中按下项目时,我想在平面列表中重新呈现数据。如何做到这一点?
const data = [
{
id: 1,
title: 'First Item',
isShow: 0
},
{
id: 2,
title: 'Second Item',
isShow: 0
}]
const renderItem = ({ item }) => {
return (
<TouchableOpacity onPress={() => onPress(item}>
<Text>{item.title}</Text>
</TouchableOpacity/>
);
};
const onPress = (item) => {
item.isShow = 1;
}
<FlatList
data={data}
renderItem={renderItem}
keyExtractor={item => item.id}
/>
当item.isShow = 1 flatlist 数据应该重新渲染时。
【问题讨论】:
-
您可以使用
useState(data)和setState(...),这将触发重新渲染。请记住,您不应该直接改变对象的值,因为 React 无法跟踪这些更改
标签: react-native react-native-flatlist flatlist