labrador_mobx_example

基于 Labrador、mobx 的小程序 demo
授权协议 未知
开发语言 JavaScript
所属分类 手机/移动开发、 微信小程序
软件类型 开源软件
地区 国产
投 递 者 章盛
操作系统 Android
开源组织
适用人群 未知
 软件概览

What

基于 Labrador 和 mobx 框架构建的小程序开发demo。

Why

Labrador 开发框架使微信开发回到我们熟悉的开发环境和流程中来 , 更多特性请参考 Labrador 使用Mobx 来做状态管理相比 Redux 来说更简单易懂, 更自由, 代码更少.

How

git clone https://github.com/spacedragon/labrador_mobx_example.git
	npm install
	npm run dev

 

So ...

熟悉mobx 的看 hocs/observer.js 里面的注释

Known Issues

  1. Labrador 可能存在 issue 所以目前package.json 里面使用的是我 fork 之后修改过的版本

  2. 微信小程序的 Page.setData(data) 对data 做了一次拷贝, 但是拷贝出来的对象丢失了 getter 方法, 这使得在 xml/wxml 界面绑定的时候取不到 mobx computed value , 目前的解决方法是为 store 写一个 toJS 序列化方法, 将 computed value 转化为普通的 property . (同样需要修改 labrador 框架)

  3. 目前使用mobx 2.7.0 , 目测 3.0.0 的版本在小程序环境中存在兼容性问题, 需要进一步研究.

  4. mobx 有可能比 redux / saga 更占空间 , 注意小程序有 1m 的限制. (mobx.min.js 有51k肯定比 redux 大许多, 但是因为mobx 需要的业务逻辑代码更少, 也许在更大的项目中会有优势)

  • Preface MobX 已经存在 6.0 版本 相较于 5.0 版本,6.0 将默认禁用 5.0 版本的 decorate,它将使用新的 API 去替代 decorate. 参见:MobX EN 6.X 如果你想从 MobX 4.x/5.x 版本迁移到 6.x 版本…唔,我知道这在大型项目中很困难,所以我们提供了一个解决方法:MobX 6.x 版本(它在这段:Migrating an entir

  • 日结博客 17.4.18 HangZhou React + Mobx 对于各种spa页面或者各种前端页面的话,不拿一个状态管理工具如何完美地实现你的项目逻辑控制呢 困扰于Redux的繁琐,mobx便横空出世了,为了简单你的状态管理而生 做到完美状态管理,你只需要以下几步 关于装饰器的编译,请看我另一篇博客:React + 装饰器 安装 mobx mobx-react npm install mob

  • MobX 为现有的数据结构(如对象,数组和类实例)添加了可观察的功能。 通过使用 @observable 装饰器(ES.Next)来给你的类属性添加注解就可以简单地完成这一切。 1. 定义一个mobx store // ------------------TestStore.js------------------- // 引入mobx相关模块 import { makeObservab

  • 状态管理 设计一个数据时需要考虑哪些问题? 生命周期: DB:随着用户的登录就存在,而且可持久化。 localStorage sessionStorage project runtime: redux:生命周期,是浏览器访问,知道页面刷新或关闭。 page component 这个生命周期中含有什么? 这里的deps的生命周期,和 redux 一致。 const deps = {}; functi

  • Store.ts import {makeObservable,observable,action} from 'mobx' class Store{ constructor(){ makeObservable(this,{ name: observable, setName: action }) }

  • npm下载mobx 在终端输入以下代码 npm install mobx@5.15.4 mobx-react@6.3 -s 1.在src文件夹里面新建一个store文件夹,并建立两个js文件,我这里建的是index.js和store1.js 在store1中写入 import { observable, action } from 'mobx'; class UseStore { @obser

  • Mobx实现步骤 1.初始化mobx 1.定义数据状态(state) 2.数据响应式处理 3.定义action函数(修改数据) 4.实例化并导出实例 //代码案例 import { makeAutoObservable } from "mobx"; class CounterStore { //1.定义数据 count = 0; constructor() {

  • /// 步骤: 1. 创建counter.dart 2. 添加 part 'counter.g.dart'; 3. 添加 class Counter = CounterMobx with _$Counter; 4. 执行命令: flutter packages pub run build_runner build 5. 删除之内再生成: flutter packages pub run

 相关资料
  • EspoTek Labrador 是开源的便携式 USB 设备,也是 EspoTek 的第一款商业产品,功能十分强大,可将 PC、树莓派和 Android 智能手机转换为功能齐全的电子实验室工作台,并配备示波器、信号发生器、逻辑分析仪、万用表和电源等功能。 EspoTek Labrador 便携式 USB 多功能电子仪器规格参数: 示波器(2通道,750ksps) 任意波形发生器(2通道,1MSP

  • 本文向大家介绍基于mpvue的小程序项目搭建的步骤,包括了基于mpvue的小程序项目搭建的步骤的使用技巧和注意事项,需要的朋友参考一下 前言 mpvue 是美团开源的一套语法与vue.js一致的、快速开发小程序的前端框架,按官网说可以达到小程序与H5界面使用一套代码。使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力。如果想将 H5 项目改造为小程序

  • 介绍 MobX是一个经久考验的库,使得状态管理简单而且透明、可伸缩的应用功能反应性编程(TFRP)。MobX背后的哲学很简单: 任何可以由应用程序状态,应该是自动派生的。 包括用户界面、数据序列化、服务器通信,等等 React和MobX在一起是一个强大的组合,React呈现应用程序状态通过提供机制,把它翻译成可渲染的树组件,React使用MobX提供的机制来存储和更新应用程序。 React和Mob

  • 主要内容:创建项目,在Eclipse中导入项目,运行项目从这篇文章开始,我们使用Spring-AOP框架编写实际的AOP应用程序。在开始使用Spring-WS框架编写第一个示例之前,必须确保已经按照Spring AOP安装配置教程中的说明正确设置了Spring-AOP开发运行环境。 现在我们继续来编写一个简单的基于控制台的Spring AOP应用程序,它用于演示AOP的概念。 先来看看要创建的项目的目录结构 - 创建项目 打开命令控制台,进入目录并执行

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我

  • 问题内容: 所有, 我已经用Java编写了基于命令行的PhoneBook应用程序。该应用程序基本上会询问用户的一些详细信息,例如姓名,年龄,地址和电话号码,并将它们存储在文件中。其他操作包括按名称,电话号码等查找电话簿。所有详细信息都通过控制台输入。 我正在尝试为我已实现的每个功能编写JUnit测试用例,但无法弄清楚如何将实现代码重定向到我的JUnit测试方法中的某个东西,当我的实际代码停止供用户