Cannot read property 'params' of undefined 에러

파랑·2021년 11월 6일
4

문제상황

react-router-dom에서 Route props으로 match, location, history가 있었고 match객체는 params의 properties를 가지고 있다.
그런데, props.match.params.id 로 아이디를 <Route path="/home/:id" element={} > 에서 받아오려니, 받아올 수 없는것 !
params을 읽을 수 없다고 오류가 뜬다

해결

react-router-dom 버전 6부터는 element로 컴포넌트를 만들고, route props(match, history, location)을 받지 않는다. 따라서, useParams, useLocation, useHistory를 사용하여 route context에 접근한다

let id = props.match.params.id 에서 
const { id } = useParams(); 로 바꿈 !

0개의 댓글