欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 为你的小程序提供 mobx 数据层驱动

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:501

为你的小程序提供 mobx 数据层驱动

发布时间:2020-11-30  
分享者: WinDy,来自原文地址

为你的小程序提供 mobx 数据层驱动

微信小程序经过一段时间的发展, 生态已经比较强大了, 我认为它未来将取代微信服务号的地位, 成为另一个重要的入口.

但开发相对复杂的小程序是一个比较有挑战的事, 其重要原因在于小程序框架的数据管理能力偏弱, 无法直接跨页进行数据共享.

于是, 我们造了一个轮子: wechat-weapp-mobx , 能够让小程序添加 mobx 数据层驱动.

mobx VS redux

开始安利我们的轮子之前, 先来谈一下 mobx 与 redux 这两个数据层的框架.

毫无疑问, 现在是 redux 的天下, 用过 react 的团队大多都在使用 redux, 它是一个将函数式编程引入数据驱动的方案, 框架轻量简单. 但我们更偏爱 mobx. 它的特点就是特别自然:

对象式的数据层, 简单易于理解, 业务入侵非常小.

智能高效的驱动方式, 几乎总是比 redux 快, 甚至快 20 倍以上性能.

性能分析见这里: https://twitter.com/mweststrate/status/720177443521343488 ( 需翻墙 )

不仅在 react 中, 我们80%团队使用 mobx, 在小程序中, 我们也为 mobx 创造了这个轮子: wechat-weapp-mobx

如何在小程序中集成 wechat-weapp-mobx

集成方式:

clone或者下载代码库到本地:

git clone https://github.com/80percent/wechat-weapp-mbox

将 mobx.js 和 observer.js 文件直接拷贝到小程序的工程中,例如 (下面假设我们把第三方包都安装在libs目录下):

cd wechat-weapp-mobx cp mobx.js <小程序根目录>/libs cp observer.js <小程序根目录>/libs 上面的命令将包拷贝到小程序的`libs`目录下

创建一个 stores 目录, 存放数据层.

如何使用

创建 mobx 的 stores

var extendObservable = require('../libs/mobx').extendObservable; var TodoStore = function() { extendObservable(this, { // observable data todos: [], todoText: 'aaa', // computed data get count() { return this.todos.length; } }); // action this.addTodo = function(title) { this.todos.push( {title: title} ); } this.removeTodo = function() { this.todos.pop(); } } module.exports = { default: new TodoStore, }

绑定页面联动事件

var observer = require('../libs/observer').observer; Page(observer({ props: { todoStore: require('../stores/todoStore').default, }, // your other code below onLoad: function(){ } }))

说明

完成上述两步之后,你就可以在 wxml 中用 props.todoStore 这种方式来访问了, 并且数据联动已经自动工作.

实际案例 & demo

我们已经在客户产品中使用访框架, 请放心使用它, 发现问题请在 github 上提供 issue. 我们会及时修复.

目前我们有两个产品正在使用它, 待上线后公布给大家体验.

一个完整的 todo list demo 演示: wechat-weapp-mobx-todos

如果不是对 mobx 特别有爱, 可以试试 wechat-weapp-redux