Ошибка получения данных Firebase в приложении React Native - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь отобразить WeightGoal, который уже был сохранен в моей базе данных Firebase RealTime, но я получаю следующую ошибку.«Объект недопустим как дочерний элемент React (найдено: объект с ключами {…})» *

enter image description here

Вот мой файл json:

enter image description here

Вот мой код componentWillMount:

componentWillMount() {
  const { currentUser } = firebase.auth();
  firebase
    .database()
    .ref(`/users/${currentUser.uid}/goals`)
    .on('value', snap => {
      this.setState({ WeightGoal: snap.val()})
    })
}

А вот как я ссылаюсь на значение внутри рендера:

{this.state.WeightGoal}

Я ожидаю, что на экране отобразится 170.

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 17 октября 2018

snap.val() - это объект, состоящий из объекта goal в вашей базе данных, потому что на это вы ссылаетесь:

.ref(`/users/${currentUser.uid}/goals`)

Итак, если вы хотите сохранить только WeightGoal property,строка, где вы используете this.setState, должна выглядеть следующим образом:

this.setState({ WeightGoal: snap.val().WeightGoal })

PS В следующий раз попробуйте добавить console.log (this.state) в render (), чтобы увидеть, что вы отображаете.Или добавьте точку останова в Chrome Debugger, что является более надежным способом.

...