[React] TypeError: Cannot read property 'location' of undefined
문제 및 원인
리액트 웹 개발 중 TypeError: Cannot read property 'location' of undefined 오류가 났다.
props의 history를 읽지 못하는 오류였다.
해결책
history, location, match는 라우터에서 사용하는 객체이므로
컴포넌트에서 사용하려면 withRouter를 이용해서 export 해야 한다.
기존
export default 클래스 이름;
변경
import { withRouter } from 'react-router-dom';
export default withRouter(클래스 이름);
깨달은 점
export 할 때 항상 withAlert, whthRouter, connect 등을 썼는데 이유도 모른 채 썼다.
함수를 사용할 때 어떤 함수고, 왜 써야 하는지 알고 쓰자.
'React' 카테고리의 다른 글
[React] antd 테이블 클릭 시 row 색 변경 (0) | 2021.05.11 |
---|---|
[React] antd form 초기화하기 (0) | 2021.04.29 |
[React] state의 list가 undefined로 인식돼서 find가 동작하지 않을 때 (0) | 2021.04.02 |
[React] 리액트 JSX에서 이미지가 엑박으로 나올 때 (2) | 2021.03.30 |
[React] Link와 <a>태그의 href의 차이 (0) | 2021.03.29 |
댓글