__ does not exist on type {children?:ReactNode;}

GY·2022년 2월 15일
0

error report

목록 보기
17/22
post-thumbnail
post-custom-banner

프로젝트 배포 직전 타입 오류를 수정하면서 다른 팀원 분의 코드를 보았다.

handlePageTitle does not exist on type {children?:ReactNode;}


import { NextPage } from 'next';


const Category: NextPage = ({ handlePageTitle, param, query }) => {
  const router = useRouter();
  const [response, setResponse] = useState();

NextPage?

Next.js에서 제공하는 타입으로, pages에 속하는 컴포넌트의 타입을 간편하게 지정해줄 수 있다.

export type NextPage<P = {}, IP = P> = {
  (props: P): JSX.Element | null
  defaultProps?: Partial<P>
  displayName?: string
  getInitialProps?(ctx: NextPageContext): Promise<IP>
}

추가로 interface를 정의해 다음과 같이 수정했다.

 interface Categories {
 handlePageTitle: () => void;
 param: string;
 query: string;
}

const Category: NextPage<Categories> = ({ handlePageTitle, param, query }) => {
 const router = useRouter();
 const { id } = router.query; // 동적 라우팅
 const [response, setResponse] = useState();


Reference

profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.
post-custom-banner

0개의 댓글