zoukankan      html  css  js  c++  java
  • [Taro] taro中定义以及使用全局变量

     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)





  • 相关阅读:
    hive匹配中文
    修改GIT密码
    Oracle中文排序问题
    redis-cli显示中文
    iOS应用图标AppIcon
    Flink开发环境搭建(maven)
    Flink安装部署
    java连Oracle连接字符串写法
    centos设置路由route
    Android 手机卫士--xutils说明与下载方法使用
  • 原文地址:https://www.cnblogs.com/wukong1688/p/11242022.html
Copyright © 2011-2022 走看看