【发布时间】:2018-10-21 14:04:38
【问题描述】:
我创建了一个名为 UserInfo 的类,我在其中将用户信息存储在变量中,并在不同的屏幕中调用这些变量
class UserInfo {
constructor(props) {
this.username = "Test"
}
}
export default (new UserInfo())
我在像这样 UserInfo.username 的其他屏幕上调用它,它工作正常
但是现在我想从本地数据库中检索用户信息,所以我在 UserInfo 类中创建了一个从本地数据库中获取数据的方法
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 -
已经试过了,同样的结果...
-
好的。请在问题中更正这一点,以免您从下一个人那里得到类似的答案。
标签: javascript android reactjs react-native sqlite