[TIL] 221031

Beanxx·2022년 10월 31일
0

TIL

목록 보기
88/120
post-thumbnail

🔥 오늘 한 일

  • [Udemy React] Section27(React + TypeScript) 학습
  • 프로그래머스 Lv.0 4문제 완료 - Lv.0 문제 All 완료 ✨
  • [BearMello 플젝]
    • 회원정보 조회 & 수정 기능 구현
    • 고객용 리뷰 등록 & 수정,삭제 기능 fix

🚨 Error Handling

💡 TS - children type error

기존 코드는 아래와 같았다. children은 내장 프로퍼티가 따로 타입 지정을 안해줘도 된다고 알고 있었는데 계속 children 부분에서 에러가 발생했다..😭

const TodosContextProvider: React.FC = (props) => {
	...
  return (
    <TodosContext.Provider value={contextValue}>
      {props.children}
    </TodosContext.Provider>
  );
};

찾아보니까 React 18 버전부터 변경된 부분이 생겼고, 이 중에 chidren도 타입을 지정해줘야 한다는 것이다. 아래 코드처럼 chidren type을 따로 지정해주면 error 사라짐!

🔗 [참고자료] 리액트 18의 타입스크립트 타입 변경점

// React version 18부턴 children 사용시에 따로 타입을 지정해줘야 한다.
// 안해주면 error 발생
type Props = {
  children: React.ReactNode;
};

const TodosContextProvider: React.FC<Props> = ({ children }) => {
	...
  return (
    <TodosContext.Provider value={contextValue}>
      {children}
    </TodosContext.Provider>
  );
};

✍️ Diary

하루에 4문제 이상씩 풀어서 드뎌 프로그래머스 Lv.0 다 풀었다~!
레벨 0이어도 나한텐 어려운 문제들이 많았어서 이번주는 지금까지 푼 문제들 복습하는 기간으로 갖자!

🎃🐝 오늘 할로윈데이라 깃헙 잔디색이 바뀌어있었다. 오늘 단 하루만 바뀌어있을테니 스샷 📸

TS 공부하고 있는데 아직 문법이 좀 생소해서 그런지 어렵게 느껴진다,,
어디서 어떻게 타입을 지정해야 에러가 안 날지에 대해 좀 더 공부하기..✍️

profile
FE developer

0개의 댓글