Странная ReferenceError в приложении React Native - PullRequest
0 голосов
/ 26 августа 2018

Я создаю свое первое реактивное приложение.Я загружаю данные из моей базы данных 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",
        }}
      />
    );
  }

Кроме того, есть ли лучший способ получения данных?

Заранее спасибо

1 Ответ

0 голосов
/ 26 августа 2018

Используйте 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
        };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...