【发布时间】:2023-03-20 09:43:01
【问题描述】:
我正在使用 react-native FlatList 对元素的数据来自外部 API 进行渲染。
我想防止用户两次选择相同的项目。所以我打算这样做的方式是在他们挑选项目后隐藏它。
假设我有一个状态 picked 像这样
const [ picked, setPicked ] = useState(false);
更改它当然会隐藏所有元素。
<FlatList
{/*some other props*/}
data={allCards}
renderItem={(card: ListRenderItemInfo<CardsProps>) => (
<TouchableOpacity
style={[ styles.holder, { display: picked ? "none" : "flex" } ]}
onPress={() => handleChoice(parseInt(card.item.id))}
>
<Card
{/*some card props*/}
/>
</TouchableOpacity>
)}
/>
我怎样才能改变 FlatList 中只有一个元素的状态? 有没有更好的方法来做同样的工作?
【问题讨论】:
标签: reactjs typescript react-native react-native-flatlist