[TIL] d+29

firestore 데이터를 가져오던 중 일일히 형식에 맞게 넣어주는 게 불편했는데 다음과 같이 개선할 수 있다.

근데 항목 수가 적으면 그냥 하드코딩하는 게 더 깔끔한 듯...

💥 Warning: Received false for a non-boolean attribute label.

에러도 이쯤 되면 지겹다...
어디서 뜬 에런지를 모르겠어서 한참 고민했는데 마지막에 'label'을 뒤늦게 발견해서 겨우 해결했다.

부울 넘겨주지 말고 문자열 넘겨주래서 그냥 이렇게 처리함...

💥 Uncaught (in promise) TypeError: post_data.add is not a function

열받아 죽겠어............💥💥💥💥💥
지급된 심화강의는 firebase 버전이 맞질 않아서 강의 그대로 작성했다간 하루 웬종일 에러만 봐야 한다.

위의 에러는 강의대로

const addPostFB = (contents = "") => {
  return function (dispatch, getState, { history }) {
    const postDB = firestore.collection("post");

    const _user = getState().user.user;
    const user_info = {
      user_name: _user.user_name,
      user_id: _user.uid,
      user_profile: _user.user_profile,
    };

    const _post = {
      ...initialPost,
      contents: contents,
      insert_dt: moment().format("YYYY-MM-DD hh:mm:ss")
    };
    // 잘 만들어졌나 확인해보세요!!
    console.log(_post);

    postDB.add({...user_info, ..._post}).then((doc) => {
        // 아이디를 추가해요!
        let post = {user_info, ..._post, id: doc.id};
				console.log(post);
    }).catch((err) => {
        console.log('post 작성 실패!', err);
    });
  };
};

이렇게 입력했을 때 나는 에러로,
v9 패키지로 진행중인 경우엔 절~~대로 실행되지 않는다.
(v9의 경우 더이상 add()를 사용하지 않고 addDoc을 사용함)

솔직히 기초-숙련주간에 이 부분을 완벽히 이해한게 아니라 이거까지 버전 문제일 거란 생각을 못해가지고(깊게 생각 안 한 내 잘못도 있다...) 한참 검색하고 씨름하느라 열받아서 눈물까지 날뻔했음...

물론 실무에선 이런 거 다 혼자 헤쳐나가야 한다는 거 머리론 이해하는데 난 배우는 입장이고 이 캠프에 적지 않은 돈도 냈기때문에 자꾸 화가 난다...ㅎㅎ... 적어도 해당 강의에선 v8을 사용한다는 내용 한 줄이라도 적어줬음 덜 억울했을까... ㅋㅋㅋ

그나마 이전주차에 써둔 TIL이 있어서 과거의 나에게 도움받았다... ㅋㅋ
진짜 TIL 꾸준히 써야겠다는 생각...

좋은 웹페이지 즐겨찾기