파이어베이스 할당량 초과 문제

Jinny·2024년 1월 5일
0

문제해결

목록 보기
8/13

파이어스토어에서 데이터를 가져올 때 댓글을 추가할 때마다 바로바로 업데이트 되지 않는다.
댓글이 추가되면 바로 추가된 댓글 리스트 데이터들을 불러와야한다.

내가 짠 코드는 useEffect를 통해 댓글 데이터가 변할 때 마다 값을 불러오고 상태 값을 변경시키기 때문에 무한 리렌더링이 발생하는 것이였다. 데이터가 얼마 없음에도 불구하고 파이어베이스 할당량이 초과된 것이였다..

export default function CommnetList() {
  const { id }: { id: string } = useParams();
  const [comments, setComments] = useState<Comments[] | null>(null);
  const getComment = async (id: string) => {
    const comment = await getComments(id);
    setComments(comment);
  };

  //안좋은 방식 ❌
  useEffect(() => {
    getComment(id);
  }, [comments]);

무한 리렌더링이 되지 않기 위해
첫 렌더링될 때만 댓글 데이터들을 불러온다.
그리고 댓글을 추가하는 부분에서 데이터를 불러오자!

댓글을 추가하면 파이어스토어에 데이터가 추가될 때까지
기다려주고 (await) 그 다음 데이터를 받아온다.

  const onSubmit: SubmitHandler<Comment> = async (data) => {
  const newComment = {
    cid: '123',
    psid: id,
    displayName: '홍길동',
    content: data.content,
    photoUrl:'기본 이미지',
    createdAt: new Date()
  };
  await addComment(newComment);
  getComments(id);
  reset();
};

➡️ 이외에 방법으로 리액트 쿼리를 통해 데이터가 추가될 때마다 업데이트를 해주면 할당량을 초과할 일은 없을 것이다.

3개의 댓글

comment-user-thumbnail
2024년 4월 12일

초과하셨을 때 혹시 어떻게 하셨나요..? 아침 일찍 작업하다 초과를 해버려서 내일까지 손놓고 기다려야 하는 수 밖에 없는 걸까요....?ㅠㅠㅠㅠㅠ

2개의 답글