我试图在ES6中实现单例类 . 我无法从该类方法返回值 .
我的单例类UserData.js
class UserData {
_token:''
constructor() {
this._token = 'abcdefghnijklmnop';
if (!UserData.instance) {
UserData.instance = this;
}
return UserData.instance
}
setToken(token) {
this._token = token;
}
getToken() {
return this._token;
}
}
const instance = new UserData();
Object.freeze(instance);
export default instance;
我的主屏幕,我正在导入和使用单件类 .
Homescreen.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View,Button} from 'react-native';
import UserData from "../UserData.js";
class HomeScreen extends Component{
_check=()=>
{
alert(UserData.getToken());
}
_update=()=>
{
UserData.setToken('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'); }
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Home Screen</Text>
<Button title='Get SingleTon' onPress={this._check} />
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
export default HomeScreen;
当我使用更新按钮更新令牌并通过获取按钮检索 . 它没有显示更新的 Value . 它显示出较旧的 Value 'abcdefgh ..'
谁能让我知道哪里出了问题 .