[React 18] React.FC에서 사라진 children.. 왜 맨날 나한테만 말 안해줘!!
2022. 7. 28. 15:08ㆍReact/클론코딩
진짜 이게 프론트의 생태계..?
분명 올해 초.. 아니 4월까지 내가 리액트 만지작할때까지는 (이때는 React 17이었음) 이런 일이 없었는데
간만에 이제 새 프로젝트를 시작했더니 React.FC에 명시적으로 있던 children이 사라졌습니다.
작년에 리액트 입문하고 가장 충격은 react-router 바뀐거였는데 얼마나 됐다고 또 바뀌었나요?
세상 미쳤네요. 이래서 주기적으로 프로젝트 해줘야하나 싶습니다.
아무튼 중요사항은 이제 암시적으로 있던 children이 사라졌으니 외부에 interface로 선언해주거나, 아니면 안에 타입을 넣어줘야겠군요. 이렇게 보시면 됩니다.
1. ReactNode로 명시
const Layout: React.FC<{children: React.ReactNode}> = ({children}) => {
return <></>;
}
2. PropsWithChildren로 명시
const Layout: React.FC<React.PropsWithChildren> = ({children}) => {
return <></>;
}
명시성이나 가독성이나 후자가 조금 더 낫네요.
만약 다른 컴포넌트에서 넘겨줄때 값을 받아야한다면 interface안에 children을 명시하시고 React.ReactNode로 명시해주시면 되겠습니다.
그럼 이만!
'React > 클론코딩' 카테고리의 다른 글
[React] 제로초님의 실수를 간파해낸 "나" - nodeJS의 라우터 (0) | 2022.08.24 |
---|---|
[React] 라우터 구조의 설계에 대해서(react-router-dom v6) (0) | 2022.08.21 |
[SWR] revalidate가 없어진 지금 어떻게 데이터를 갱신하는가? (0) | 2022.08.16 |
[React] SWR: 전역 저장소로써 사용해보기 (0) | 2022.07.29 |
비밀번호 맞는데 도대체 왜그래...:( Access denied for user 'root'@'localhost'(using password: YES) (0) | 2022.07.29 |