[TypeScript] router.query 타입 지정

이주희·2022년 11월 14일
0

TypeScript

목록 보기
9/10

router 경로가 잘못 설정되었거나 폴더명 오류(dynamic route parameters) 등으로 router 경로가 undefined일 수 있다.

위 경우는 boardIdundefined가 들어갈 수 없어서 발생하는 에러이다.
(router.queryboardId가 없는 경우 undefined를 반환한다.)

따라서 미리 undefined일 경우에 대한 처리를 해줘야 한다.

방법 1 : String으로 타입 변환

이 방법은, undefined인 경우 "undefined"로 그대로 변환된다는 문제점이 있다.

String(router.query.boardId)

방법 2 : 타입 확인 후 분기 처리

undefined인 경우에 대한 처리를 미리 할 수 있다.

if(typeof router.query.boardId !== "string") {
 	console.log("올바른 경로로 접속해주세요.");
	return <></>
}
profile
🍓e-juhee.tistory.com 👈🏻 이사중

0개의 댓글