如何 select React Native 中每个项目的单个子项目

How to select single sub item from every item in React Native

我正在尝试 select 每个项目中只有一个子项目,例如这张照片:

我想做什么:

使用 index:color、value:black 推送数组。

当我选择红色时,更新数组:index:color、value:red。

并且 CHECKBOX 应该只用 selected 子项(红色或黑色)检查。

这是我的 onPress 函数:

const [optionsSelected,setOptionsSelected] = useState([]);
const checkSelected = (optionid,valueid) =>{
  
  if(optionsSelected && optionsSelected.length>0){
    if(optionsSelected[optionid] && optionsSelected[optionid]!=undefined){
      
      optionsSelected[optionid]=valueid;
    }
  }else{
      setOptionsSelected(oldArray => [...oldArray, {[optionid]:valueid}]);
  }
}

为什么不使用普通对象而不是数组?

setOptionsSelected(prev => ({
  ...prev,
  [optionid]: valueid,
});

好的,我找到了解决方案:

首先,这是更新后的代码:

const checkSelected = (optionid,valueid) =>{
  setOptionsSelected(oldArray => ({...oldArray,[optionid]:valueid}));
}

那么,这是我的支票:

if(optionsSelected[item.option_id] && optionsSelected[item.option_id]==item.value_id){
        //checked=true;
      }else{
        //checked=false;
      }

谢谢大家