Имеется массив:
Пытаюсь сделать, чтобы через чекбоксы можно было выбирать и Languages и Level:
Обновление массива выбранных значений и фильтрация:
const [selectedOptions, setSelectedOptions] = useState([]);
const handleCheckboxChange = (e) => {
const value = e.target.value;
setSelectedOptions((prevSelected) => {
if (prevSelected.includes(value)) {
return prevSelected.filter((option) => option !== value);
} else {
return [...prevSelected, value];
}
});
};
const filteredData = sitterStore.filter((item) => {
if (selectedOptions.length === 0) {
return true;
} else {
return selectedOptions.includes(item.level_name);
}
});
Создание чекбоксов:
{sitterStore.map((item, index) =>
<>
<label className='checkbox-label'>
<input
type="checkbox"
value={item.lang_name}
checked={selectedOptions.includes('lang_name')}
data-key={`lang_name`}
onChange={(e) => handleCheckboxChange(e)}
className='checkbox-input'/>
{item.lang_name}
</label>
</>
)}
Вот тут:
return selectedOptions.includes(item.level_name);
если проверяю одно свойство, level или language, всё ок, а если два сразу, что делать?