【发布时间】:2018-12-01 19:56:38
【问题描述】:
目前正在使用 react-native-sqlite-storage 开发 React Native (iOS)。 getUserData 函数由组件(ProfileView)调用,然后它只是记录它。 如果我尝试记录返回的数组,它可以工作,但如果我尝试记录同一个数组的零元素,它会说它是未定义的。 我省略了 okCallback 和 errorCallback,因为它们只是 console.log 发送给它们的消息。 我也尝试在 getUserData 中使用对象而不是数组,但它只会返回 undefined。
数据库工作者:
export function getUserData() {
var arr = [];
db.executeSql('SELECT * from userData;', [], results => {
let len = results.rows.length;
for(let i = 0; i < len; i++) {
arr.push(results.rows.item(i));
}
});
return arr;
}
class ProfileView extends React.Component {
constructor(props) {
super(props);
var test = getUserData();
console.log('not working', test[0])
console.log('working', test)
}
个人资料视图:
class ProfileView extends React.Component {
constructor(props) {
super(props);
var test = getUserData();
console.log('not working', test[0])
console.log('working', test)
}
render() {
return (...);
}
}
提前致谢
【问题讨论】:
-
这能回答你的问题吗:stackoverflow.com/questions/14220321/…
-
所以
console.log('working', test)有效,但console.log('not working', test[0])无效? -
你的问题是时间。您不能检查明天要填写的框的内容。与您无法检查数组内容的方式相同,它将被填充(比方说)20ms。
标签: javascript ios arrays react-native