Javascript 如何比较两个数组';s值,如果两者相等或不相等,则返回该值的差异按钮

Javascript 如何比较两个数组';s值,如果两者相等或不相等,则返回该值的差异按钮,javascript,reactjs,react-native,react-native-android,react-native-ios,Javascript,Reactjs,React Native,React Native Android,React Native Ios,我正在呈现一个平面列表,我想根据按钮的ID是否在我的购物车中显示一个按钮。我怎样才能做到 这是我的按钮代码: addBtn = (id) => { try{ let productAdded = this.state.addedToCart; return productAdded.map((pid) => { if (pid == id) { /

我正在呈现一个平面列表,我想根据按钮的ID是否在我的购物车中显示一个按钮。我怎样才能做到

这是我的按钮代码:

addBtn = (id) => {

        try{
            let productAdded = this.state.addedToCart;
            return productAdded.map((pid) => {
                if (pid == id) {
                    // console.log(pid);
                    // console.log("-----------");
                    console.log(id + " is added into cart");
                    return(
                        <Button
                            key={id}
                            style={{ 
                                backgroundColor: '#fff',
                                borderWidth: 2,
                                borderColor: '#2e6153',
                                borderStyle: 'solid',
                            }}
                        >
                            <Text style={{color: '#2e6153',}}>Added</Text>
                        </Button>
                    );
                } else {
                    console.log("not added to cart");
                    return(
                        <Button
                            key={id}
                            onPress={() => {
                                this.saveCart(id);
                            }} 
                            style={{ 
                                backgroundColor: '#2e6153',
                                borderWidth: 2,
                                borderColor: '#2e6153',
                                borderStyle: 'solid',
                                width: 80,
                                alignItems: 'center',
                                justifyContent: 'center',
                            }}
                        >
                            <Text>Add</Text>
                        </Button>
                    );
                }
            });
        }catch(errors){
            console.log(errors);
        }

    }
addBtn=(id)=>{
试一试{
让productAdded=this.state.addedToCart;
返回productAdded.map((pid)=>{
如果(pid==id){
//控制台日志(pid);
//console.log(“--------------”;
console.log(id+“已添加到购物车”);
返回(
补充
);
}否则{
控制台日志(“未添加到购物车”);
返回(
{
这个.saveCart(id);
}} 
样式={{
背景颜色:“#2e6153”,
边界宽度:2,
边框颜色:“#2e6153”,
边框样式:“实心”,
宽度:80,
对齐项目:“居中”,
为内容辩护:“中心”,
}}
>
添加
);
}
});
}捕获(错误){
console.log(错误);
}
}
其中,“addBtn=(id)”的id来自平面列表的renderItem

这个.state.addedToCart是我购物车中的物品数组。 目前我在购物车中添加了两个项目,因此this.state.addedToCart=[“1015”,“1016”]

输出为:


我只想渲染一次,但按钮渲染的次数与我的购物车大小相同。

我想可能有问题:

return productAdded.map((pid) => {
只需将其删除并将if语句更改为:

if (productAdded.includes(id)) {
因此,它将只返回一个按钮