firebase v9 の機能

firebase

ドキュメントの取得

import { collection, query, getDocs } from "firebase/firestore";
import { db } from "../firebaseSettings/firebase";

  const fetchTodo = async () => {
    const todo = query(collection(db, "goods"));
    const querySnapshot = await getDocs(todo);
    let todos = [];
    querySnapshot.forEach((doc) => {
      todos.push({
        id: doc.id,
        content: doc.data().goodsTitle,
      });
    });
    console.log(todos);
  };
  fetchTodo();

ドキュメントの取得(where)

import { collection, query, getDocs } from "firebase/firestore";
import { db } from "../firebaseSettings/firebase";

  const fetchTodo = async () => {
    query(collection(db, 'todo'), where('uid', '==', uid)); //フィールドのuidが現在のuidと同じ物を取得
    const querySnapshot = await getDocs(todo);
    let todos = [];
    querySnapshot.forEach((doc) => {
      todos.push({
        id: doc.id,
        content: doc.data().goodsTitle,
      });
    });
    console.log(todos);
  };
  fetchTodo();

サインイン

import { getAuth, GoogleAuthProvider, signInWithPopup, onAuthStateChanged } from "firebase/auth";

const provider = new GoogleAuthProvider();
export const auth = getAuth();

export const singInWithGoogle = () => {
  signInWithPopup(auth, provider)
    .then((result) => {
      const credential = GoogleAuthProvider.credentialFromResult(result);
      const user = result.user;
    }).catch((error) => {
      console.log(error);
    });
}
// uidの取得
onAuthStateChanged(auth, (user) => {
  if (user) {
    const uid = user.uid;
    return uid;
  }
});

サインアウト

export const logOut = () => {
  const auth = getAuth();
  signOut(auth).then((res) => {
    console.log(res.user);
    document.location.reload();
  }).catch((error) => {
    console.log(error.message);
  });
}
タイトルとURLをコピーしました