反应本机项目选择

时间:2020-06-19 10:20:58

标签: javascript reactjs react-native

我想从列表中选择一个项目并突出显示它。我有一个关于如何从数组中删除特定项目的功能,我想重用此功能以突出显示它。

数据是对象数组。我想使用钩子来管理状态。 id分配给数组中的每个项目。我想把presshandler函数用作onPress的属性。

const [selected, setSelect] = useState(Data);

const presshandler = (id) => {
    setSelect((prev) => {
        return prev.filter((list) => list.id !== id);
    });
};

1 个答案:

答案 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} />

阅读您的评论后,我看到您想要切换。所以我编辑了我的示例。