Как получать доступ к обновленному 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 <></>
}
→ Ссылка