Функціональні компоненти, де ми використовуємо useStateдля встановлення початкових значень для нашої змінної; якщо ми передаємо початкове значення через реквізит, воно завжди встановлюватиме одне і те ж початкове значення, поки ви не скористаєтесь useEffectхуком,
наприклад, у вашому випадку це зробить вашу роботу
React.useEffect(() => {
setUser(props.user);
}, [props.user])
Функція, передана useEffect, буде запущена після того, як візуалізація буде зафіксована на екрані.
За замовчуванням ефекти запускаються після кожного завершеного візуалізації, але ви можете запустити їх лише тоді, коли певні значення змінилися.
React.useEffect(FunctionYouWantToRunAfterEveryRender)
якщо ви передаєте лише один аргумент useEffect, він запускатиме цей метод після кожного візуалізації, ви зможете вирішити, коли запускати це FunctionYouWantToRunAfterEveryRender, передаючи другий аргумент useEffect
React.useEffect(FunctionYouWantToRunAfterEveryRender, [props.user])
як ви помічаєте, я передаю [props.user] тепер useEffectзапускатиме цю FunctionYouWantToRunAfterEveryRenderфункцію лише тоді, коли props.userбуде змінено
Я сподіваюся, це допоможе вашому розумінню. Повідомте мене, якщо потрібні якісь вдосконалення, дякую