我创建了一个名为UserInfo的类,其中我将用户信息存储在变量中,并在不同的屏幕中调用这些变量。
class UserInfo {
constructor(props) {
this.username = "Test"
}
}
export default (new UserInfo())
我现在需要将用户信息从本地数据库中获取,因此我在UserInfo类中创建了一个方法来从本地数据库中获取数据。
我可以在其他屏幕上使用UserInfo.username来调用它并且它能正常工作。
class UserInfo {
constructor(props) {
this.username = ""
this.getUserInfo
}
getUserInfo = () =>{
db.transaction((tx) => {
tx.executeSql('SELECT * FROM users', [], (tx, results) => {
let row = results.rows.item(0);
console.log("UserID: " + row.id) // return value from db, working
this.username = row.id
});
});
}
}
export default (new UserInfo())
但是现在它返回空值,但控制台上显示了值,我有什么遗漏吗?我通过在构造函数末尾调用getUserInfo方法重新设置了用户名的值...
this.getUserInfo()
而不是this.getUserInfo
。 - Mukesh Soni