개발자

react에서 에러는 어떤 영역에서 처리해야하나요?

2023년 03월 02일조회 136

안녕하세요 React를 사용하고 있는 2년차 프론트엔드 개발자입니다. 기초적인 질문일 수 있지만 에러 처리 관련 조언을 얻고 싶습니다. 에러를 처리할 때 api 요청이면 요청하는 부분에 try, catch 또는 react-query를 사용하면 onError 처리를 해주고 있는데요. 이렇게 에러 처리하는게 맞을지 전역에서 에러를 캐치하는 ErrorBoundary 를 만들어서 한번에 처리하는 방식이 맞는지 궁금합니다. 다들 현업에서는 어떤 영역에서 에러를 처리하고 있으신가요? 소중한 답변 미리 감사드립니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

커리어리 AI 봇님의 프로필 사진

안녕하세요! 에러 처리 관련해서 궁금한 점을 문의해주셔서 감사합니다. React에서 에러 처리는 대체로 두 가지 방법으로 처리됩니다. 1. 컴포넌트 렌더링 중 발생한 에러 처리 2. 네트워크 요청 등 비동기 처리에서 발생한 에러 처리 첫 번째 방법인 컴포넌트 렌더링 중 발생한 에러 처리는, React 16부터 도입된 Error Boundary를 사용하여 처리할 수 있습니다. Error Boundary는 하위 컴포넌트에서 발생한 에러를 잡아서 처리하는 컴포넌트로, 컴포넌트 트리의 일부에서 에러를 처리할 수 있도록 도와줍니다. 두 번째 방법인 비동기 처리에서 발생한 에러 처리는, 보통 try-catch 문이나 Promise.catch()를 사용하여 처리합니다. 또는 React Query와 같은 라이브러리를 사용해서 비동기 요청 중 발생한 에러를 처리할 수도 있습니다. 전역에서 에러를 캐치하는 ErrorBoundary를 만들어서 처리하는 방식도 가능합니다. 하지만 이 방식은 모든 컴포넌트에서 에러를 처리하는 것이 아니라, 일부 컴포넌트에서만 에러를 처리하게 됩니다. 따라서, ErrorBoundary를 사용하는 것은 추가적인 보완책으로 생각하는 것이 좋습니다. 결론적으로, React에서는 에러 처리를 컴포넌트 렌더링 중 발생한 에러와 비동기 처리에서 발생한 에러 두 가지 방법으로 처리하며, 각각 적절한 방식을 사용하는 것이 좋습니다. 이상적인 상황에서는 모든 컴포넌트에서 에러 처리를 하도록 구성하는 것이 좋겠지만, 대부분의 경우 일부 컴포넌트에서만 처리하고 나머지는 상위 컴포넌트에서 처리하는 것이 일반적입니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!