javascript — набор объектов useState

набор объектов useState

setInfo является асинхронным, и вы не увидите обновленное состояние до следующего рендеринга, поэтому, когда вы сделаете это:

 if(data!==undefined){ setInfo({...info, data }) } console.log(info) 

вы увидите info до того, как состояние будет обновлено.

Вы можете использовать useEffect (которая сообщает React, что ваш компонент должен что-то делать после рендеринга), чтобы увидеть новое значение info :

 const StartPage = props ={amp}gt; { const [user, setUser] = useState(''); ... useEffect(() ={amp}gt; { console.log(info); }, [info]); ... } 

РЕДАКТИРОВАТЬ

Также, как отмечали другие, вы, вероятно, захотите деструктурировать data при установке состояния: setInfo({...info, ...data }) (это полностью зависит от того, как вы планируете его использовать), в противном случае состояние будет выглядеть так:

 { email: ... data: ... } 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector