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 来进行全局变量的管理