簡體   English   中英

無法通過使用狀態反應本機從 Firebase Firestore 數據庫中獲取數據

[英]Unable to fetch data from firebase firestore database with react native using state

我正在構建一個 react native 應用程序,我需要將 firebase firestore 數據庫中的所有用戶數據放入一個平面列表中。 我不確定如何使用所有更新的 React Native 代碼來做到這一點,因為所有其他堆棧溢出問題都沒有回答這個問題,我在其他地方找不到任何幫助。 我用於獲取反應本機數據的代碼是:

state = {
    data: []
  };

  unsubscribe = null;

  componentDidMount() {
    const user = this.props.uid || Fire.shared.uid;
    const list = [];

    this.unsubscribe = Fire.shared.firestore
      .collection("users")
      .doc(data)
      .onSnapshot(doc => {
        list.push(data);
      });

      this.setState({
            data: list
      )};
  }

  componentWillUnmount() {
    this.unsubscribe();
  }

數據庫結構是用戶有姓名和電子郵件。 我嘗試通過鍵入:“{this.state.name.email}”來調用它,這在 Flatlist 中不起作用。 我已經在另一個文件中初始化了我的應用程序,其中 Fire.shared = new Fire(); 被出口。 如果對如何將此類數據正確導出到狀態提供任何幫助,我將不勝感激。 先感謝您!

setState的調用需要在回調中,因此:

componentDidMount() {
  const user = this.props.uid || Fire.shared.uid;
  const list = [];

  this.unsubscribe = Fire.shared.firestore
    .collection("users")
    .doc(data)
    .onSnapshot(doc => {
      list.push(data);
      this.setState({
        data: list
      )};
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM