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 來進行全局變量的管理