小程序状态管理库Minax
小程序开发
浏览:1754 次

什么是Minax?
Minax是一个专门为小程序开发的状态管理库。它使用集中式存储来管理app的所有组件的状态,
您还可以配置是否以与Vuex类似的方式绑定到缓存。它通常可用于解决多次尝试共享同一个
尝试更改同一状态的状态或多个场景。
我们的优势
全球状态支持app、页面、组件和行为(这比市场上的其他库更好)
使用方法与Vuex类似,具有相关经验的学生更容易入门
小代码入侵,简单集成,无需在每个页面上调用getApp(),这一点$百货商店
支持带缓存的不可察觉绑定(可选),从此告别存储
小程序支持
由于各种小程序平台的相互参考,我们的库可以支持市场上几乎所有的小程序
(您只需要在集成库后进行一些修改)。本次文档锁定涉及的案件均基于微信小程序
微信小程序
支付宝小程序
百度小程序
京东小程序
标题小程序
安装
借助微信小程序的强大功能,小程序支持基本库2.2.1中的npm,
,建议在使用此插件时将版本升级到2.2.1以上
2.2.1以下版本的介绍方法
对于2.2.1以下的基本库版本,请将此库的dist目录复制到您的项目中,然后以require或import的方式引用它
var存储=需要('../dist/index.js')
//具体路径根据您的文件目录进行调整
可能
从'../dist/index'导入存储。Js’//具体路径根据您的文件目录进行调整
2.2.1如何导入版本库及以上版本
由于小程序文件夹默认不采用npm的形式,所以第一步是将小程序项目初始化为npm项目
npm初始化
然后根据您的包管理工具使用它
npm安装--保存minax
可能

纱线添加量
成功安装后,单击开发工具中的菜单栏:Tools-->Build npm
内置.png
选中“使用npm模块”选项:
checkbuild.png
构造完成后,可以使用npm包。npm包被引入js:
常量存储=需要(“最小”)
开始
Minax图书馆的核心是商店。“存储”基本上是一个容器,它包含app中的大多数状态(状态和动作)。
Minax在以下两个方面与纯全局对象不同:
Minax的状态存储基于发布-订阅模式。当页面或组件从中设置mapState时,相当于订阅存储中的状态。如果存储中的状态发生变化,相应的组件和页面将相应地得到有效更新。
您不能直接更改商店中的状态。更改存储中状态的唯一方法是显式提交。这使我们能够轻松地跟踪每个状态的变化。
一个简单的商店
我们建议创建存储/索引。js文件。一个简单的存储如下:
从“../dist/index.js”导入存储
常量存储=新存储({
状态:{
cartCount:0,
标记:“”
},
操作:{
setmark({commit},有效载荷){
setTimeout(()=>{
提交(“标记”,有效载荷)
}, 2000)
}
}
})
导出默认存储
现在,您可以通过store State获取状态对象,并通过store提交方法触发状态更改:
百货商店提交(“标记”,“这是一个注释”)
console.log(store.state.mark)//->“这是一个注释”

在项目的app中。js,介绍商店
从“./store/index.js”导入存储
store.install()
在页面、组件和行为中配置mapState属性。对应的值是字符串或字符串数组
mapState:['cartCount','mark'],
可能
MapState:“cartCount”。mapState处理的属性相当于每月的数据设置。你可以让他们通过这个数据。cartCount或这个$商店状态购物车计数
第页({
数据:{
信息:“我是主页”
},
mapState:['cartCount','mark'],
onLoad:函数(){
//数量加1
这是$store。提交(“标记”,“这是一个注释”)
这是$store。调度(“setmark”,“这是一个由操作触发的注释”)
}
})
在wxml中,直接绑定值可以
看这里,你应该已经基本掌握了这个图书馆的使用
相关结构参数
状态
州是所有闽南语州的源头。我们通过状态中的键集绑定状态。它有两个特点:
每个键对应一个状态,该状态最终通过mapState混合到页面或组件的数据中,因此其值和数据中的值必须遵循相同的规则
这里的键将用作提交类型,例如存储提交(键、有效载荷)
新建商店({
状态:{
标记:'默认'
}
})
绑定存储模式

Minax支持缓存绑定模式。你只需要知道这一点