我正在构建我的第一个本机应用程序。我正在从SQLite数据库的ListView中加载数据。无论我做什么,我都会不断收到“ ReferenceError:未定义ApartData”
以下是我的代码:
import React from 'react'
import { StyleSheet, Text, View, Image, TouchableOpacity, ListView } from 'react-native'
import { Images } from '../../Themes'
var SQLite = require('react-native-sqlite-storage')
var db = SQLite.openDatabase({name: 'vhodove.db', createFromLocation: '~db.sqlite3'})
export default class Screen1 extends React.Component {
constructor(props) {
super(props)
this.state = {
apartData: "",
};
const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
db.transaction((tx) => {
tx.executeSql('SELECT title FROM entrances_entrance INNER JOIN tasks_schedule WHERE assignee_id=1', (tx, results) => {
var len = results.rows.length;
if(len > 0) {
var row = results.rows.item(0);
this.setState({apartData: row.apartData});
}
});
});
this.state = {
dataSource: ds.cloneWithRows(apartData),
isApart: true, isHolder: false
};
}
ListViewItemSeparatorLine = () => {
return (
<View
style={{
height: .5,
width: "100%",
backgroundColor: "#000",
}}
/>
);
}
还有,有没有更好的方法来检索数据?
提前谢谢
答案 0 :(得分:0)
使用ds.cloneWithRows(this.state.apartData)
所以改变这个:
this.state = {
dataSource: ds.cloneWithRows(apartData),
isApart: true, isHolder: false
};
至:
this.state = {
dataSource: ds.cloneWithRows(this.state.apartData),
isApart: true, isHolder: false
};