taro中定义以及使用全局变量

错误的姿势

// app.tsx文件中
class App extends Component {
  componentDidMount() {
    this.user = { name: '张三', id: 1 };
  }
}
// index.tsx 文件中
const app = Taro.getApp();
export default class Index extends Component {
  componentWillMount() {
    console.log(app.user);
  }
}
  • 在taro中 getApp()只能取到一开始定义的值,并不能取到改变后的值

正确的姿势

  • Taro 中推荐使用 Redux 来进行全局变量的管理,但是对于一些小型的应用, Redux 就可能显得比较重了,这时候如果想使用全局变量,推荐如下使用。
    新增一个自行命名的 JS 文件,例如 global_data.js,示例代码如下:
const globalData = {}
export function setGlobalData (key, val) {
  globalData[key] = val
}
export function getGlobalData (key) {
  return globalData[key]
}

随后就可以在任意位置进行使用啦

import { getGlobalData, environment } from './path/name/global_data'

详细见trao文档

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,281评论 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,588评论 1 45
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,605评论 0 7
  • 跟你们讲个我梦里的小故事吧,不长,满阔怕的 我妈要我去相亲,我不愿意,死活不去,我妈说对方家里是世家,去看看吧!...
    倾岑阅读 140评论 0 1