토이, 이전에 풀지 못한 토이문제들 다시 앞부터 풀어보기, 레퍼런스가 새롭게 느껴진다, 어떤 건 풀었는데 기억이 잘 안나고, 어떤건 왜 못풀었나 싶고
리덕스_ 노마드코더 강의, 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
에러 모음
로그인 하고 나서 로그인 상태를 유지하기: 로그인버튼을 눌러서 서버에 요청을 보내고, 확인이 되고 나면 userInfo 상태를 업데이트하고, mypage로 이동하도록 로직을 짜놨는데, 다시 Home으로 돌아오면, userInfo 상태가 초기화 되버려서, 글 작성시 아이디 반영이 안된다ㅠ -> ing
리덕스 에러 메세지
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});
일희일비하는 시간들, 뭐 좀 동작하면 오오 신나는데, 재밌는데 싶다가도 머리 터질거 같으면 왜안돼~~~하다가, 에러 해결되면 크으으 되는구만, 신나는구나~ 하다가 출구없는 재귀냐고~
두루뭉술하게 아는 것들을 "안다"라고 확실히 말할 수 있게, 잘 정리해 두어야 겠다, 늘 느끼는거지만ㅠ + 하지만 파다보면 끝이 없어서 어디까지 파야할지도 애매하다 -> 고로 "안다"고 확신하기보다 늘 정확하게 확인해보는 습관을 들여야지..