функция отображается вместо того, чтобы возвращать значение данных - PullRequest
0 голосов
/ 19 октября 2019

Я использую базу данных в реальном времени из firebase и пытаюсь получить значение конкретной задачи. Для этого я использую метод on () и добавляю обратный вызов для возврата значения данных, но вместо этого он просто возвращает саму функцию обратного вызова.

Но, как вы можете видеть, я записываю полученные данныеданные ('TEST') в консоли, поэтому нет проблем с их извлечением, а только с возвратом и отображением!

Я новичок в этом firebase и реагирую нативно, поэтому, пожалуйста, помогите мне.

Это мой файл кода:

class TasksScreen extends Component {
  taskRef = database()
    .ref('Tasks')
    .child('D8oTrGVFNOT2Gcb7Odwf3SbbVZu2')
    .child('-LrXGvE7IBv930CX4npb')
    .child('title');

  taskTitle = this.taskRef.on('value', function(data) {
    console.log(data.val());
    return data.val();
  });
  render() {
    console.log(this.taskTitle);
    return (
      <View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
        <Text>{this.taskTitle.toString()}</Text>
      </View>
    );
  }
}

export default TasksScreen;

Это журнал терминала:

Это текст, отображаемый на экране вместо самих данных.

1 Ответ

0 голосов
/ 19 октября 2019

Проблема в том, что вы не вызываете функцию. Вы должны вызвать функцию наподобие "this.taskTitle ()"

Пожалуйста, измените это

<Text>{this.taskTitle.toString()}</Text>

на

<Text>{this.taskTitle().toString()}</Text>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...