ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mobx记录用户登录状态(react)

2021-11-09 13:58:35  阅读:261  来源: 互联网

标签:status account 登录 setUserStatus userStatus react mobx UserInfoStatus store


mobx记录用户登录状态(react

新建userStatus.ts

import { makeAutoObservable } from 'mobx'
import { UserInfo } from '../types'

interface UserInfoStatus extends UserInfo{
  status:string
}

class UserStatus {
  userStatus: UserInfoStatus = {
    account: '',
    pwd: '',
    status:''
  }

  constructor() {
    makeAutoObservable(this)
  }

  setUserStatus = (status: UserInfoStatus) => {
    this.userStatus = status
    console.log(this.userStatus.account);
    
  }
}

const userStatus = new UserStatus()
export default userStatus

使用如下

登陆成功

store.userStatus.setUserStatus({ account: values.username, pwd: values.password, status: 'login'})

退出登录

store.userStatus.setUserStatus({ account: '', pwd: '', status: 'logout' })

可以用store.userStatus.userStatus.status做一些条件渲染,即登录后才可以看见的东西

 <Observer>
    {() => (
        { store.userStatus.userStatus.status === 'login' ? 
         (<div className={style.case1>case1</div>) : 
             (<div className={style.case2>case2</div>)
        }
     )}
 </Observer>

标签:status,account,登录,setUserStatus,userStatus,react,mobx,UserInfoStatus,store
来源: https://blog.csdn.net/jojo1001/article/details/121226538

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有