其他分享
首页 > 其他分享> > mobx记录用户登录状态(react)

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

作者:互联网

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