Я пытаюсь использовать React Hooks, но почему-то мое состояние не обновляется. Когда я устанавливаю флажок (см. Пример), я хочу, чтобы индекс последнего добавлялся в массив selectedItems
, и наоборот.
Моя функция выглядит так:
const [selectedItems, setSelectedItems] = useState([]);
const handleSelectMultiple = index => {
if (selectedItems.includes(index)) {
setSelectedItems(selectedItems.filter(id => id !== index));
} else {
setSelectedItems(selectedItems => [...selectedItems, index]);
}
console.log("selectedItems", selectedItems, "index", index);
};
Вы можете найти console.log
результат здесь
В результате пустой массив, может мне кто-нибудь объяснить, где я что-то упустил?
selectedItems
состояние еще не обновляется. - person Omar   schedule 06.03.2020setSelectedItems
является асинхронным, он не обновляет состояние немедленно. Вы получаете устаревшее состояние. - person Gulam Hussain   schedule 06.03.2020