Вам придется использовать пару путей.
Я предполагаю, что информация, которую вы хотите сохранить для пользователя, будет либо атрибутом пользователя в вашем пользовательском пуле Cognito, либо в отдельной базе данных.Я предполагаю, что вы будете использовать UserAttributes для ответа.
Показывать только один раз (я предполагаю, что вы имеете в виду при входе в систему, и пользователь может получить доступ к этому другим способом):
- Когда пользователю впервые представляется форма, обновите его профиль с помощью атрибута seenForm (или любого другого).
Проверьте, есть ли у пользователя этот атрибут при входе в систему
showForm = async() => {
await Auth.updateUserAttributes({ // this sets the seenform attribute in the user's profile to make sure that they are not shown it again
seenForm: true
})
...
}
checkUserAttributes = async () => {
await Auth.userAttributes()
.then(async (userAttributes) => {
// check to see if the attribute field exists
!userAttributes['seenForm'] ? this.showForm() : null
}
}
async componentDidMount() {
checkUserAttributes()
}
Если атрибут существует, пропустите показ формы.В противном случае установите атрибут и покажите форму.
Это работает лучше, чем использование локального хранилища в случае, если пользователь входит в систему с другого устройства.