【问题标题】:How to get document id of firestore in React如何在 React 中获取 Firestore 的文档 ID
【发布时间】:2020-08-31 12:55:39
【问题描述】:

这是我的 Firestore 数据库: useEffect() 更新了锻炼常量后,我只能访问名称和 uId。我如何也可以访问文档 ID?

import React, { useState, useEffect } from "react";
import "./Workouts.sass";
import Workout from "./Workout";
import firebase from "./firebase";

function Workouts() {
  const [workouts, setWorkouts] = useState([]);

  useEffect(() => {
    let user = firebase.auth().currentUser;
    const database = firebase.firestore();
    const unsubscribe = database
      .collection("workouts")
      .where("uId", "==", user.uid)
      .onSnapshot((snapshot) => {
        setWorkouts(snapshot.docs.map((doc) => doc.data()));
      });

    return () => {
      unsubscribe();
    };
  }, []);

  return (
    <div className="Workouts">
      {workouts.map((workout) => (
        <Workout key={workout.name} workout={workout} />
      ))}
    </div>
  );
}

export default Workouts;

【问题讨论】:

    标签: javascript reactjs firebase google-cloud-firestore


    【解决方案1】:

    您可以使用快照 doc.id
    我喜欢将 id 作为属性添加到对象:

    snapshot.docs.map((doc) => ({id: doc.id, ...doc.data()}))
    

    【讨论】:

    • 这给了我Parsing error: Unexpected token, expected "," 用于 doc 和 id 之间的点
    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 2020-12-05
    • 2019-05-05
    • 2019-08-02
    • 2022-07-22
    • 2021-07-20
    相关资源
    最近更新 更多