IT/Typescript

Typescript에서 React location의 state값 선언

라임웨일 2022. 5. 19. 13:06
반응형

 

리액트에서 Link에 state를 이용하여 이동하는 페이지에 특정값을 전달할 수 있습니다.  전달받은 페이지에서는 'useLocation' 항목을 이용하여 해당 값을 받아올 수 있는데 이 부분을 TypeScript를 적용하게 되면 오류가 발생하게 됩니다. 전달받은 값에 대한 타입이 지정되지 않았기 때문인데 이 부분을 쉽게 설명하고 해결하는 방법이 있어서 공유합니다. 

 

State를 이용하여 값 전달

<Link
  to={`${process.env.PUBLIC_URL}/details/`}
  state={{
    myState: state.id    
}}

Location 값에 TypeScript를 적용

 

 

interface CustomizedState {
  myState: string
}

const location = useLocation();
const state = location.state as CustomizedState; // Type Casting, then you can get the params passed via router
const { myState } = state;

 

감사합니다.

 

출처 :https://github.com/reach/router/issues/414

반응형

'IT > Typescript' 카테고리의 다른 글

타입스크립트 정리  (1) 2022.09.08
Styled Components & TypeScript  (0) 2022.05.24
Object is possibly 'null' 오류 해결  (0) 2022.05.19
광고차단(애드블록)프로그램이나 브라우저를 사용중이시면 프로그램을 비활성화이나 블로그 주소를 예외 처리 해주시면 광고가 노출됩니다. 귀찮고 번거롭겠지만 광고 클릭은 저에게는 큰 힘이 됩니다. 🙇🏻‍♂️🙇🏻‍♀️
제 블로그의 모든 글은 제가 직접 작성 하고 다른 글을 참고할 때는 이전 글보다 읽기 편하게 수정해서 작성하고 있습니다. 커피 한잔 사먹고 더 열심히 좋은글로 보답하겠습니다.
오늘도 제 블로그에 와 주셔서 감사합니다. :)
//