массив. В него передается value, это value добавляется в массив.
Но при первом вызове setState в массив ничего не добавляется, при повторном клике добавляется прошлое значение . Куда копать?
const [values, setValues] = useState([])
const _handleClick = value => {
console.log([...values, value])
setValues([...values, value])
console.log(values)
}
Второй консольлог выводит текущее значение из state. Ссылка то ведь не поменялась. Новое значение в переменной values будет только при следующем рендере, который будет вызван сразу после setValues. Чтобы убедиться, вынесите второй консольлог за пределы функции handleClick.
Обсуждают сегодня