Taro -- 定义全局变量

Taro定义全局变量

方法1:在taro中 getApp()只能取到一开始定义的值,并不能取到改变后的值

// app.js文件中
class App extends Component {
  constructor () {
    super(...arguments)
    this.state = ({
      
    })
  }
  globalData = {
    loginType: false,
    userInfo: {}
  }
}
// index.js 文件中
const app = Taro.getApp();
export default class Index extends Component {
  componentWillMount() {
    console.log(app.globalData.loginType);
  }
}

方法2:新增一个自行命名的 JS 文件,例如 global.js

const globalData = {}
export function setGlobalData (key, val) {
  globalData[key] = val
}
export function getGlobalData (key) {
  return globalData[key]
}

然后在需要改变传值的app.js页面调用,存入数据

import {setGlobalData} from "./global"
setGlobalData("loginType", true)  //全局变量

最后在需要的index.js页面取出数据

import {getGlobalData} from "../../global"
componentDidShow () {
     console.log(getGlobalData("loginType"))
}

方法3:使用 Redux 来进行全局变量的管理

 

posted @ 2019-06-27 15:12  童话里都是骗人的  阅读(9913)  评论(0编辑  收藏  举报