我想从列表中选择一个项目并突出显示它。我有一个关于如何从数组中删除特定项目的功能,我想重用此功能以突出显示它。
数据是对象数组。我想使用钩子来管理状态。 id分配给数组中的每个项目。我想把presshandler函数用作onPress的属性。
const [selected, setSelect] = useState(Data);
const presshandler = (id) => {
setSelect((prev) => {
return prev.filter((list) => list.id !== id);
});
};
答案 0 :(得分:1)
如果我做对了,您想在按下图像后将highlighted
设置为true
:
const toggleSelect = id => {
setSelect(prev => {
return prev.map(item => {
if(item.id !== id) return item
return {
...item,
highlighted: !item.highlighted
}
})
})
}
// Usage:
<Image onPress={() => toggleSelect(image.id)} {...rest} />
阅读您的评论后,我看到您想要切换。所以我编辑了我的示例。