小程序状态管理库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中,直接绑定值可以

备注:{{mark}}</view>

看这里,你应该已经基本掌握了这个图书馆的使用

相关结构参数

状态

州是所有闽南语州的源头。我们通过状态中的键集绑定状态。它有两个特点:

每个键对应一个状态,该状态最终通过mapState混合到页面或组件的数据中,因此其值和数据中的值必须遵循相同的规则

这里的键将用作提交类型,例如存储提交(键、有效载荷)

新建商店({

状态:{

标记:'默认'

}

})

绑定存储模式

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