我正在React-Native中创建一个Android应用。
这是我的问题:
我基本上有5个页面来管理用户:
1)身份验证(在其中可以进入登录名或注册)
2)登录页面
3)注册页面。在此页面中,我设置了值,然后将它们传递到userPage。
4)用户页面。在此页面中,我可以进行注册。
5)HomepageUser
在“用户”页面中,我具有2个功能:
AsyncStorage.setItem
AsyncStorage.getItem
赞
static async saveLoggedInUser(value) {
try {
await AsyncStorage.setItem("@loggedInUser", JSON.stringify(value));
} catch (error) {
console.log(error.message);
}
}
static async getUserLoggedIn() {
try {
return await AsyncStorage.getItem("@loggedInUser");
} catch (error) {
console.log(error.message);
return null;
}
}
现在,我的第一页是身份验证,如何检查用户是否已通过身份验证,然后将其定向到HomepageUser?
非常感谢您!
答案 0 :(得分:0)
成功登录后,您需要在“登录”页面中设置用户令牌,
try {
await AsyncStorage.setItem('token', usertoken);
} catch (error) {
// Error saving data
}
在第一页的componentDidMount方法中,您需要检查是否设置了用户令牌,
componentDidMount = async() =>{
try {
const value = await AsyncStorage.getItem('token');
if (value !== null) {
// We have data!!
console.log(value);
}
} catch (error) {
// Error retrieving data
}
}
如果令牌存在,请导航到“主页”或重定向到“登录”页面。
关于使用React导航进行身份验证的文档非常出色。您可以检查是否使用React导航进行路由。