Как получать доступ к обновленному state?
Как сделать так, чтоб после вызова changeState я мог сразу получить доступ к обновленному состоянию?
const Component = (props) => {
const [item, setItem] = useState(0);
const changeState = () => {
setItem(props.newValue); // props.newValue = 1
}
useEffect(() => {
changeState();
console.log(item); //0
}, [props.dep])
return <></>
}
Ответы (1 шт):
Автор решения: Daniil Loban
→ Ссылка
Сделать это можно несколькими способами, но наиболее "реактовский" - использовать useEffect, т.е. те самые props.dep которые есть в Вашем коде:
const Component = (props) => {
const [item, setItem] = useState(0);
const changeState = () => {
setItem(props.newValue); // props.newValue = 1
}
useEffect(() => {
console.log(item); // сначала будет 0, потом 1
}, [item])
useEffect(() => {
changeState();
}, [props.dep])
return <></>
}