JavaScript

[TypeScript] router.query 타입 지정

e-juhee 2022. 11. 14. 15:49
728x90
반응형

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 <></>
}
728x90
반응형