Я пытаюсь сохранить имя входа, используя AsyncStorage для приложения React Native с бэкэндом Rails. Я не могу понять, как правильно это реализовать. Моя функция setUser работает правильно для setState, но затем я пытаюсь использовать AsyncStorage для сохранения идентификатора пользователя из имени входа. Затем, когда компонент монтируется после повторного открытия приложения, я хотел бы иметь возможность получить userId из AsyncStorage для использования в выборке auto_login.
const user_id = AsyncStorage.getItem("userId")
if(user_id) {
fetch("http://localhost:3000/auto_login", {
headers: {
"Authorization": user_id
}
})
.then(res => res.json())
.then(res => {
if (res.errors){
alert(res.errors)
} else {
this.setState({ currentUser: res, loggedIn: true})
}
})
}
fetch(`http://localhost:3000/users`)
.then(response => response.json())
.then(users => this.setState({ users: users }))
fetch(`http://localhost:3000/tasks`)
.then(response => response.json())
.then(tasks => this.setState({ tasks: tasks }))
}
setUser = (user) => {
this.setState({
currentUser: user,
loggedIn: true
}, () => {
AsyncStorage.setItem("userId", user.id)
})
}