더북(TheBook)

lib/users.js

import firestore from '@react-native-firebase/firestore';

export const usersCollection = firestore().collection('users');

export function createUser({id, displayName, photoURL}) {
  return usersCollection.doc(id).set({
    id,
    displayName,
    photoURL,
  });
}

export async function getUser(id) {
  const doc = await usersCollection.doc(id).get();
  return doc.data();
}

이 코드에서 usersCollection이라는 컬렉션 레퍼런스를 만들어줬습니다. 이 컬렉션 레퍼런스에는 컬렉션에 있는 특정 값을 조회, 등록, 삭제하는 메서드가 들어있습니다. createUser 함수는 주어진 파라미터를 고유 ID로 가지고 있는 문서에 주어진 정보들을 설정해 저장합니다. getUser는 주어진 파라미터를 고유 ID로 가지고 있는 문서를 조회해 그 정보를 반환합니다.

컬렉션 레퍼런스에는 add라는 메서드가 있어서 이 메서드를 사용하면 고유 ID를 Firestore에서 자동으로 생성해주는데요. 우리는 사용자의 uid 값을 고유 ID로 사용할 예정이므로 add가 아닌 docset을 통해 구현해줬습니다.

함수들이 모두 준비됐으면 새로운 화면을 하나 만들어줍시다. 바로 WelcomeScreen입니다. 이 화면에 사용자의 프로필 사진과 닉네임을 등록하는 기능을 구현할 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.