Вы не хотите создавать какие-либо побочные эффекты внутри тела компонента, и если вам нужно сохранить какие-то данные, которые со временем меняются state
- это место для него.
Для побочного эффекта используйте useEffect
, который можно настроить при запуске функции обратного вызова с помощью массива зависимостей, который в этом случае пуст и будет запускать функцию обратного вызова только при монтировании
function App() {
const [owner, setOwner] = useState(null)
useEffect(() => {
Auth.currentAuthenticatedUser({
bypassCache: false,
})
.then((user) => {
setOwner(user.username)
})
.catch(console.log)
}, [])
return <div>{owner}</div>
}