我们一说到全局数据状态管理时,对于 Vue 框架,或许你想到的是 Vuex;对于 React 框架,或者你想到的是 Redux;在微信小程序中,globalData 内定义全局使用变量;而在 Taro 小程序中,使用 Redux 进行全局变量管理时,但是对于一些小型的应用,Redux 就可能显得比较重了。
使用对象做全局状态管理
其实就是跟本地 storage 设置缓存和获取缓存是一个道理。你可以定义一个对象来使用全局变量,代码如下:
const globalData = {};
export const setGlobalData = (key, val) => {
globalData[key] = val;
}
export const getGlobalData = (key) => {
return globalData[key];
}
使用如下:
import { getGlobalData, setGlobalData } from "../../utils/index";
setGlobalData('socket', this.socket)
getGlobalData('socket')
当然我们可以把 getGlobalData 和 setGlobalData 定义成一个函数,提供 get 和 set 两个API,代码如下:
export function createCache() {
const globalData