[TIL]

sarahsea·2021년 9월 23일
0

TIL

목록 보기
75/89
post-thumbnail

오늘 한 것

  • 토이, 이전에 풀지 못한 토이문제들 다시 앞부터 풀어보기, 레퍼런스가 새롭게 느껴진다, 어떤 건 풀었는데 기억이 잘 안나고, 어떤건 왜 못풀었나 싶고

  • 리덕스_ 노마드코더 강의, im-sprint-cmarket-redux 다시풀고, 지난 스프린트들 살펴보면서 사용법 익히기 및 amoo에 리덕스 적용하기

  • amoo 기능 구현_ 로그인, db에서 작성글 가져와 뿌려주기,
    users 테이블 필드를 여러번 바꾼 덕분에?
    sequelize 연습이 많이 되었다; 기획을 탄탄히 해야 고생이 적겠다

  • 새롭게 배운 것: Map.prototype.get()
    서버에서, db에 조회한 결과를 이용할때,

//model.findAll() 리턴값 중 dataValues 만 가져오기 map.get() 의 활용
const curComments = await Comments.findAll();
const cleanedData = curComments.map(el => el.get({ plain: true }));
// console.log(cleanedData)
// {id:1, userId:"bla", title:"blabla",...} // {key: {anotherKey: 1234}} 처럼 복잡한 애들 말고 깔끔하게 원하는 형태를 가져올 수 있다, 단, association 없는 경우,

참고: 블로그, mdn, stackoverflow
내용 외 읽어볼만한 참고 블로그_sequelize docs

에러 모음

  1. 로그인 하고 나서 로그인 상태를 유지하기: 로그인버튼을 눌러서 서버에 요청을 보내고, 확인이 되고 나면 userInfo 상태를 업데이트하고, mypage로 이동하도록 로직을 짜놨는데, 다시 Home으로 돌아오면, userInfo 상태가 초기화 되버려서, 글 작성시 아이디 반영이 안된다ㅠ -> ing

  2. 리덕스 에러 메세지

Store does not have a valid reducer. 
Make sure the argument passed to combineReducers is an object whose values are reducers.

해결_ 민망할정도로 간단, combineReducers의 인자는 객체여야 함

// reducers/index.js 에서 스토어에 넘길 Reducers
// combineReducers() 인자는 "객체"여야함
const Reducers = combineReducers(userReducer, commentsReducer);
// 위를 아래로
const Reducers = combineReducers({userReducer, commentsReducer});
  1. useEffect() 안에서 콘솔로그가 안찍힘,(axios요청이 가는데 대체 왜?!! 무수한 갈고리 후..)
    -> 알고보니 개발자도구 콘솔에도 좌측 메뉴네브바 같은가 있음, user message, No errors, warning 등 선택하기에 따라서 해당내용만 보이고 콘솔로그가 안 보일 수 있음 😅

느낀점

  • 일희일비하는 시간들, 뭐 좀 동작하면 오오 신나는데, 재밌는데 싶다가도 머리 터질거 같으면 왜안돼~~~하다가, 에러 해결되면 크으으 되는구만, 신나는구나~ 하다가 출구없는 재귀냐고~

  • 두루뭉술하게 아는 것들을 "안다"라고 확실히 말할 수 있게, 잘 정리해 두어야 겠다, 늘 느끼는거지만ㅠ + 하지만 파다보면 끝이 없어서 어디까지 파야할지도 애매하다 -> 고로 "안다"고 확신하기보다 늘 정확하게 확인해보는 습관을 들여야지..

내일은

  • amoo~~~ 토큰, oauth,배포까지.. 마무리하고싶네ㅠ
  • 토이/코테 :)
profile
생각하는 사람

0개의 댓글