iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >react使用mobx封装管理用户登录的store示例详解
  • 290
分享到

react使用mobx封装管理用户登录的store示例详解

2024-04-02 19:04:59 290人浏览 八月长安
摘要

1、MobX 介绍  MobX 是一个简单、可伸缩的响应式状态管理库。通过 MobX 你可以用最直观的方式修改状态,其他的一切 MobX 都会为你处理好(如自动更新UI),

1、MobX 介绍 

MobX 是一个简单、可伸缩的响应式状态管理库。通过 MobX 你可以用最直观的方式修改状态,其他的一切 MobX 都会为你处理好(如自动更新UI),并且具有非常高的性能。当状态改变时,所有应用到状态的地方都会自动更新。 

1.1 React和Mobx关系 

React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染。而MobX提供机制来存储和更新应用状态供 React 使用。 

1.2 核心概念 

  • State:驱动应用的数据
  • Computed values:计算值。如果你想创建一个基于当前状态的值时,请使用 computed
  • Reactions:反应,当状态改变时自动发生
  • Actions:动作,用于改变 State
  • 依赖收集(autoRun):MobX 中的数据以来基于观察者模式,通过 autoRun 方法添加观察者 

下面重点介绍下react使用mobx封装管理用户登录的store,主要是基于mobx封装管理用户登录的store。

store/login.Store.js

// 登录模块
import { makeAutoObservable } from "mobx"
import { Http } from '@/utils'

class LoginStore {
  token = ''
  constructor() {
    makeAutoObservable(this)
  }
  // 登录
  login = async ({ mobile, code }) => {
    const res = await http.post('http://geek.itheima.net/v1_0/authorizations', {
      mobile,
      code
    })
    this.token = res.data.token
  }
}
export default LoginStore

store/index.js

import React from "react"
import LoginStore from './login.Store'

class RootStore {
  // 组合模块
  constructor() {
    this.loginStore = new LoginStore()
  }
}
// 导入useStore方法供组件使用数据
const StoresContext = React.createContext(new RootStore())
export const useStore = () => React.useContext(StoresContext)

到此这篇关于react使用mobx封装管理用户登录的store的文章就介绍到这了,更多相关react管理用户登录store内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: react使用mobx封装管理用户登录的store示例详解

本文链接: https://www.lsjlt.com/news/151165.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作