애플리케이션 내의 잠재적인 문제를 알아내기 위한 도구. `Fragment와 같이 UI를 렌더링하지 않으며, 자손들에 대한 부가적인 검사와 경고를 활성화 한다.
- 안전하지 않은 생명주기를 사용하는 컴포넌트 발견
- 레거시 문자열 ref 사용에 대한 경고
- 권장되지 않는 findDOMNode 사용에 대한 경고
- 예상치 못한 부작용 검사
- 레거시 context API 검사
- Ensuring reusable state
안전하지 않은 생명주기를 사용하는 컴포넌트 발견
비동기 React 애플리케이션에서 특정 생명주기 메서드들은 안전하지 않는데 이를 알려줌.

레거시 문자열 ref 사용에 대한 경고
콜백 형태로 변경하는 작업에 사용
권장되지 않는 findDOMNode 사용에 대한 경고
예상치 못한 부작용 검사
React는 두 단계로 동작한다.
- 렌더링 단계: 어떤 변화가 필요한 지 결정하는 단계. 이 과정에서 React는 render를 호출하여 이전 렌더와 결과값을 비교한다.
- 커밋단계: 변경사항을 반영하는 단계. 이 단계는 componentDidMount나 componentDidUpdate와 같은 생명주기 메서드를 호출.
커밋단계는 빠르지만, 렌더링 단계는 느릴 수 있다. 커밋 단계 전에 렌더링 단계의 생명주기는 여러번 호출하거나 아예 커밋을 하지 않을 수도 있다.
렌더링 단계 생명주기 메서드는 클래스 컴포넌트의 메서드를 포함한다.