我尝试使用本地存储,以便在刷新时,用户仍然登录,而不是每次都注销。我已设法使用此代码将数据保存到本地存储空间(我使用的是Firebase,因此我会留下很多内容):
saveToLocal(){
const local = this.state.loggedIn;
localStorage.setItem("loggedIn", JSON.stringify(local));
}
loginUser(e){
e.preventDefault();
this.setState({
loggedIn: "true"
},
this.saveToLocal);
我现在如何访问本地存储中的数据并让它立即设置状态,以便用户在刷新时保持登录状态?这是我的州:
constructor(){
super();
this.state = {
loggedIn: ""
}
谢谢!
答案 0 :(得分:1)
你可以这样做。在根组件跟踪中,您的用户登录/退出状态。如果您已经有localStorage项目,那么您只需阅读localStorage的componentDidMount
值并根据该值设置状态。
localStorage.getItem('loggedIn')
但也许更好的解决方案是使用cookie,具体取决于您希望用户登录的程度。使用Cookie,您可以为整个逻辑添加时间维度。