Функціональні компоненти, де ми використовуємо 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
буде змінено
Я сподіваюся, це допоможе вашому розумінню. Повідомте мене, якщо потрібні якісь вдосконалення, дякую