Как получить данные Firebase Cloud Firestore в одну строку, которая возвращает одно значение в React Native - PullRequest
0 голосов
/ 01 февраля 2020

Я пытаюсь получить данные из базы данных пожарного хранилища Firebase в одну строку в текстовом компоненте в реагировать нативно. Вот что я пытаюсь сделать:

...
<Text style={styles.name}>
 {firebase.firestore().collection("users").doc(post.uid).get().name}
</Text>
...

Этот код пытается поместить значение в компонент React Native Text путем извлечения документа с идентификатором "post.uid", чтобы возвращались данные документа где вызывается значение «имя» и возвращает одну строку. Буду признателен за любую помощь, как это сделать, так как я не могу найти решение. Заранее спасибо!

1 Ответ

0 голосов
/ 02 февраля 2020

Самое близкое, что вы можете получить, это использовать await

(await firebase.firestore().collection("users").doc(post.uid).get()).data().name

Я рекомендую внимательно изучить документацию Firestore по получению данных и попытаться получить значение вне вашего рендера. сначала функция.


Обновление

Поскольку вы используете реакцию, я настоятельно рекомендую использовать этот подход:

  1. В вашем componentDidMount начните загружать данные.
  2. Как только данные загружены, вызовите setState(), чтобы добавить их в состояние.

    В сочетании эти выглядят так:

    componentDidMount() {
      firebase.firestore().collection("users").doc(post.uid).get().then((doc) => {
        this.setState({ name: doc.data().name });
      }
    }
    
  3. Затем выполните рендеринг данных из состояния.

    <Text style={styles.name}>
     {this.state.name}
    </Text>
    

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...