当前位置: 首页 > news >正文

微信小程序:Mobx的使用指南

简要

微信小程序中有时需要进行全局状态管理,这个时候就需要用到Mobx.下面我们来看一下在小程序中是如何使用Mobx的

安装

pnpm i mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1
或
npm i mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1
或
yarn add mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1

配置

根目录下新建store文件夹,新建store.js文件

import { observable, action } from 'mobx-miniprogram'export const store = observable({//数据字段numA: 1,numB: 2,//计算属性get sum() {return this.numA + this.numB},//actions方法updateNumA: action(function (step) {this.numA += step}),updateNumB: action(function (step) {this.numB += step;})
})

页面中如何使用

// pages/notice/notice.js
import { createStoreBindings } from 'mobx-miniprogram-bindings'
import { store } from '../../store/store'Page({//点击页面按钮触发的函数handler() {//获取numA的值console.log(this.data.numA);//修改numA的值this.updateNumA(this.data.numA + 1)},onLoad(options) {this.storeBindings = createStoreBindings(this, {store,//指定使用的仓库(此处使用es6语法)fields: ['numA', 'numB', 'sum'],//指定字段actions: ['updateNumA', 'updateNumB']//指定方法})},onUnload() {//页面卸载时需要卸载仓库this.storeBindings.destroyStoreBindings()}
})

组件中如何使用

import { storeBindingsBehavior } from 'mobx-miniprogram-bindings'
import { store } from '../../store/store'
Component({behaviors: [storeBindingsBehavior],storeBindings: {store,fields: {numA: () => store.numA,//绑定字段的第一种方式numB: (store) => store.numB,//绑定字段的第二种方式sum: 'sum'//绑定字段的第三种方式},actions: {//指定要绑定的方法updateNumA: 'updateNumA'}}
})
http://www.lryc.cn/news/120779.html

相关文章:

  • 【Spring Boot】Spring Boot项目的创建和文件配置
  • Spring Cloud 智慧工地源码(PC端+移动端)项目平台、监管平台、大数据平台
  • 通达OA SQL注入漏洞【CVE-2023-4165】
  • centos7 安装 docker 不能看菜鸟教程的 docker 安装,有坑
  • ♥ vue中$nextTick()
  • 小程序裂变怎么做?小程序裂变机制有哪些?
  • Openlayers实战:使几何图形适配窗口
  • 活动发布会邀请媒体6步走
  • W6100-EVB-PICO作为TCP Client 进行数据回环测试(五)
  • emqx-5.1.4开源版使用记录
  • Java 线程池的原理与实现
  • 【idea】点击idea启动没反应
  • C# Atrribute和反射的简单例子
  • ASP.NET Core - 缓存之分布式缓存
  • 代理模式(C++)
  • C# 有效的字母异位词
  • R语言安装包Seurat
  • vue2中使用mixins(混入)和vue3中使用composable
  • 通过OpenTelemetry上报Python-flask应用数据(阿里云)
  • 使用node搭建服务器,前端自己写接口,将vue或react打包后生成的dist目录在本地运行
  • 一篇文章搞懂如何使用JDBC操作数据库,还有JDBC进阶操作
  • 9.3.2.1网络原理(UDP)
  • 21、stm32使用LTDC驱动LCD
  • 合并两个有序链表
  • 深入了解Unity的Physics类:一份详细的技术指南(七)(上篇)
  • 数据结构与算法-数组(附阿里面试题)
  • k8s集群网络插件搭建——————解决集群notready(k8s1.20版本,docker24)
  • 有血有肉的PPT
  • 使用C语言实现UDP消息接收
  • 图片加水印