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'

参考:
https://nervjs.github.io/taro/docs/best-practice.html#%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F%5D(https://nervjs.github.io/taro/docs/best-practice.html#%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F)
												

最新文章

  1. Redis——学习之路一(初识redis)
  2. JSP生命周期
  3. 【转】reduce端缓存数据过多出现FGC,导致reduce生成的数据无法写到hdfs
  4. 使用AppCan自带的升级功能实现移动端升级
  5. 制作Andriod程序的数字签名需要使用JDK
  6. Eclipse 经验之谈(一):快速打war包
  7. 更改Oracle实例的字符集
  8. linux nVidia driver 304 319 . installation by hand
  9. java default使用
  10. oracle 数据库——知识点总结(加示例)
  11. matlab输入输出语句(input、disp、fprintf)
  12. 二进制数据的序列化反序列化和Json的序列化反序列化的重要区别
  13. JS-4-if
  14. Linux权限赋予远程连接MySQL
  15. jdbc随笔
  16. Element link doesn't have required attribute property
  17. 如何删除帝国cms面包屑导航中首页链接的/index.html
  18. Collection体系
  19. Docker搭建tomcat运行环境(Dockerfile方式)
  20. sql时间格式转换

热门文章

  1. 05_javaSE面试题:成员变量和局部变量
  2. LeetCode解题笔记 - 1. Two Sum
  3. PHP7.1.X+wordpress+windows,安装Memcached服务
  4. 2、Hibernate持久化编写
  5. 数据库——SQL-SERVER练习(6) 数据库安全性
  6. webpack资源处理
  7. PHP面试题2019年阿里巴巴面试题及答案解析
  8. python中time、datetime模块的使用
  9. JavaWeb之servlet(2)
  10. 【JavaScript】使用document.write输出覆盖HTML问题