Добавить значения в существующий массив (без замены), перехватчики реакции - PullRequest
0 голосов
/ 14 июля 2020
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. Что не хватает?

...