const [isChecked, setIsChecked] = useState(false);
const [selectedValues, setSelectedValues] = useState([]);
const {answer} = props;
const checkItem = answerId => {
const selectedItem = selectedValues.find(value => value === answerId);
//console.log('selectedItem', selectedItem);
if (selectedItem) {
const filteredValues = selectedValues.filter(value => {
value !== selectedItem;
});
//console.log('filteredValues', filteredValues);
setSelectedValues(filteredValues);
} else {
setSelectedValues([...selectedValues, answerId]);
console.log('selectedValues', selectedValues);
}
};
return (
<CheckBox
style={styles.checkboxStyle}
onClick={() => {
checkItem(answer.answerId);
setIsChecked(!isChecked);
}}
isChecked={isChecked}
rightText={answer.answerText}
checkBoxColor="#9e9e9e"
checkedCheckBoxColor="#FA6400"
/>
);
};
Я передаю текущий выбранный answerId
из группы флажков в функцию с именем checkItem
, там она проверит, что текущий answerId уже находится в selectedValues array
, если нет, он перескакивает для другой части мне нужно добавить эти новые значения в массив selectedValues
без замены текущих значений. новинка в react-hooks. Что не хватает?