작성
·
275
1
componentDidCatch() 부분에서 저는 크로쓰 오리진 에러가 뜨네요... A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information. 뭐가 문제인지 알 수 있을까요? (코드 https://codesandbox.io/s/5klql536vk)
답변 1
2
App 컴포넌트 마운팅 과정에서 호출되는 render에서 자식 컴포넌트인 MyComponent의 render를 호출하게됐고 그 과정에서 에러가 발생해서 마운팅을 성공하지 못하고 App클래스의 componentDidMount에서 getBoundingClientRect() 정보를 호출하니 이곳에서 에러가 발생한것 같습니다. 강사님 말로는 부모 컴포넌트에서 에러를 잡을 수 있다고 했으니 App컴포넌트에서 발생한 에러를 App 컴포넌트 내 componentDidMount 에서 잡는게 안되서 문제가 된것 같습니다.
임시 방편으로 주석처리하면 우선 componentDidMount 에서 에러가 발생하지 않아 componentDidCatch호출이 가능했습니다.
// console.log(this.myDiv.getBoundingClientRect());