[Firebase] boolean Update

최영진·2023년 1월 2일
0

Firebase

목록 보기
4/6

boolean Update

boolean 을 변수에 대입하여 쓸 경우가 많다.

이 때 그 객체 속의 데이터 값을 찾아서 ! 바꿔줄 수 있다.(Read -> update)

const changeIsDone = async (id) => {
    // const tasks = tasklist.map((task) => {
    //   if (task.id === id) {
    //     return {
    //       ...task,
    //       isDone: !task.isDone,
    //     };
    //   } else {
    //     return {
    //       ...task,
    //     };
    //   }
    // });
    // setTasklist(tasks);
    const snapshot = await getDoc(doc(dbService, "Tasks", id)); // 하나의 doc를 가져옴.
    await updateDoc(doc(dbService, "Tasks", id), {
      isDone: !snapshot.data().isDone,
    });
  };

위의 주석은
tasks 를 .map 메소드로 id 값이 같을 경우 isDone을 !하고 새로운 배열을 만들어 return 하였다.

하지만 updateDoc 의 값을 역변환 하기 위해선 굳이 .map 을 쓰지 않아도 되었다.

getDoc 을 이용하여 id 가 같은 객체를 뽑아와 isDone의 값에 ! 역을 취해주면 되었다.

더 좋은 방법이 있을 거 같으니 일단 여기까지 하겠다.

profile
안녕하시오.

0개의 댓글