inflearn logo
강의

Course

Instructor

React for Anyone: Core React Course for Beginners

Introduction and usage of LifeCycle API (ii)

componentDidCatch에 관련된 질문입니다.

199

nook0610

1 asked

0

componentDidCatch 를 사용할때

getBoundingClientRect 을 호출하게 되면..

this를 찾을 수 없어서 그런지..

오류를 내면서 componentDidCatch 도 호출이 안됩니다.

이런 경우는 어떻게 처리를 해야하는건가요?

  componentDidMount() {

console.log(this.myDiv.getBoundingClientRect().height);

}

componentDidCatch(error, info) {

console.log(error); //에러내용

console.log(info); //에러발생지

this.setState({

error: true

});

react javascript

Answer 1

0

beautifuldev

안녕하세요 :) 질문하신지도 오래 지났고, 제 방법이 맞는지도 모르겠지만 저도 질문자님과 같은 상황을 겪었던 터라 제가 해결했던 방법을 공유해서 이와 같은 문제를 겪는 분들에게 도움이 되었으면 하는 마음에 답변글을 답니다.

저는 componentDidCatch() 메서드가 component에서 발생한 에러를 해결해주는 것이라고 생각하여 자바스크립트 에러인 cannot read property 'getBoundingClientRect' of undefined 를 해결해주지 못하고 자바스크립트 에러때문에 componentDidCatch()도 호출이 되지 않은 것이라고 생각했습니다.

그래서 저는 구글링하여 다음과 같은 소스코드로 에러를 해결했습니다.

componentDidMount() {

console.log('componentDidMount');

function getSafe(fn) {

try {

return fn();

} catch (e) {

return undefined;

}

}

console.log(getSafe(() => this.myDiv.getBoundingClientRect().height));

}

try-catch문을 사용했는데 그럼 cannot read...관련 에러도 해결이 되고, componentDidCatch메서드도 호출이 되어서 화면에 '오류 났어요!'문구도 나타나게 됩니다.

key is not a prop 에러에 대하여

0

696

1

App.js에서 handleCreate 함수 생성 시 오류

0

462

1

PhoneForem.js 파일에서 [e.target.phone] : e.target.value 해줘야하지 않나요?

0

405

1

firebase에서 db 데이터 값 가져오기 중...

0

531

1

강의 교재 받을 수 있나요?

0

437

0

라이프사이클 관련 질문

0

288

0

onClick = {smoe callback} 은 render 를 다시 호출 하나요?

0

223

0

동영상 하단에 링크가 없어요

0

313

0

var를 사용안한다 하셨는데

0

410

1

수강자료는 어디서 받나요

1

583

1

영상 링크가 변경된 것 같습니다.

10

439

0

계속 보고있지만 구동되는 방향성을 이해못하겠어요 ㅠㅠ.

0

279

0

리액트 virtualDOM 개념과 state 불변성 관련 개념이 어떻게 다른건지 궁금합니다.

0

228

0

npm 을 사용해서 create 하려니까 안되네요

0

261

0

배열안의 데이터 수정하기에서 12:19 화면 부분이 궁금해서 질문드립니다.

0

228

0

계속 PhoneForm.js 파일을 못읽는거같더니

1

266

0

this에 관해서 질문드립니다!!

0

333

1

배열 데이터 렌더링 및 관리파트에서 props로 값 가져올때 질문있습니다!

0

217

0

함수형 컴포넌트는 state를 어떤 식으로 정의하는지 궁금합니다.

0

414

1

0

341

1

import 질문

0

287

2

index.js 파일이 다릅니다

2

220

0

const {변수명} = ? 표현법

1

2855

1

create-react-app 오류 (Cannot find module './encoding/utf8')

0

276

0