原生小程序的全局状态管理一些使用方法

184 阅读1分钟

基于全局状态管理库wxministore

1.获取全局状态必须使用 getState() 获取 $state 对象;

// 错误示范【这样是获取不到$state对象的】

let state=getApp().store.state = getApp().store.state

// 正确示范

let $state = getApp().store.getState()

2.设置全局状态必须使用setState(Object);

// 错误示范【这样是更新不到$state对象的】

getApp().store.$state.msg = 'Hello Index!'

// 正确示范

getApp().store.setState({msg: 'Hello Index!'})

3.watch 监听必须是 this.data 改变的变量;

// 错误示范 【使用 this.setData 监听不到修改】

Page({ onLoad(){ this.setData({goodsList: [1,2,3,4,5,6]}) }, watch: { goodsList(val){ console.log(val) this.setData({goodsList: val}) } } })

// 正确示范

Page({ onLoad(){ this.data.goodsList = [1,2,3,4,5,6] }, watch: { goodsList(val){ console.log(val) this.setData({goodsList: val}) } } })