프로젝트 배포 직전 타입 오류를 수정하면서 다른 팀원 분의 코드를 보았다.
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();
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();