[TIL] 2020/11/18

yongkini ·2020년 11월 18일
0

Today I Learned

목록 보기
82/173

Today, I Learned


  • 리액트에서 쿠키 받아서 쓰는 법 : link
  • 상위 컴포넌트에서 값을 받을 때, 그대로 useState 값으로 처음에 할당하면, 그 다음에 새로 rendering될 때, 그 새로운 값이 useState로 가지는 것이 아니다. 즉, re-render될 때 useState값도 re-render되는 것이 아니다. 단지 상위 컴포넌트를 참조하는 해당 컴포넌트의 부분만 re-render될 뿐이다. 다른 것도 다 바뀐다고 생각해서 낸 실수가 많다.
  • 스키마 설계할 때 꼬인 것이 있었다. add card를 할 때 예를 들어, 이번주 토요일에 일정을 추가하면, 추가할 때 date 조건을 안걸고 추가하기 때문에(당일에만 추가가 가능한 상태임) 만약 토요일에 가서 카드를 추가하면, 그냥 당일 자료에 등록이 되는 문제 발생.. => SR때 진짜 기능의 세세 구현 모습까지 생각해서 설계해야한다. (받을 자료, 보낼 자료, 실제 기능 구현 모습 등)
  • 내일 코드리뷰할 부분
    1) 로그아웃 부분 코드리뷰
    2) 어떻게 고친건지 다시 물어보기(tasks, checkbox)
    3) 소셜 로그인 다시 시도해보기
    4) Nav, footer 지운 것 말하기
    
  • onKeyDown : input에서 onKeyDown 속성을 줘서 메서드로 관리하면 
    e.keyCode로 내가 타이핑하고 있는 버튼의 키코드를 얻을 수 있다.
    이 기능을 이용해서 엔터를 치면 특정 동작을 하도록 설정할 수 있음.
    예를 들어, e.target.blur()하면 엔터를 쳤을 때, focus out이 되게 할 수 있음.
    // 이번에 실제 썼던 로직 const checkEnterPress = (e) => { // keyCode 13이 enter if (e.keyCode === 13) { e.target.blur(); } };

Planning to Study


  • .env 세팅해놓기
  • delete 버튼 누르자마자 안없어지는 부분 고치기(setCardData를 해주면서 전체를 re-render해줘야하는데.. 전혀 되질 않음) => 해결 : useState 문제였음. 최상위 컴포넌트에서 수정되면 아래 컴포넌트의 정보도 바뀌는데, 그 때, 그 바뀌어야하는 정보를 useState() 괄호안에 변수로 넣어놔서, 결과적으로 갱신이 되지 않았음.! (**기억하자**)
  • 모바일에서 레이아웃이 변하는 문제 해결해야함 => 해결
  • checkbox 랑 task 변경 연속으로 누르면 둘중 하나가 서버에 적용이 안되는 문제도 해결해보면 좋을 것 같다. => 해결

semi-final project Day-10 comment


  • 오타 신경쓰기. 사소한 오타가 엄청 시간을 잡아먹는다(setDate 안되서 한시간 넘게 고민했는데, 오타가 문제였던 경험)
  • SR 시간에 좀 더 완벽하고, 구체적으로 설계하기. 초반에 시간이 오래걸려도 나중에 완전히 뒤집어야 하는 상황보다는 낫다.
  • 팀과 논의를 할 때 내 의견을 확실히 말하자.
  • 컴포넌트 단위로 관리를 할 때, 재활용 컴포넌트를 잘 활용하자
  • 팀 코드 리뷰! 자주해도 좋다. 서로 어디까지 했는지, 어디를 같이 봐야할지 등 코드 리뷰는 협업에서 정말 중요한 요소인 것 같다.
profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글