항상 같은 방법으로 컴포넌트에 props를 전달 했었는데 EsLint에서 경고가 생기지 않았어서 프롭스로 전달 하는 속성에 타입을 지정해주지 않아도 된다고 생각했다. 경고가 생기지 않았던 이유는 eslint.config.js파일에서
"react/prop-types": "off"로 해놨었기 때문에 경고가 발생하지 않았던 것이다.
먼저 이미지의 코드를 살펴보면 VSCode 확장 프로그램인 Error Lens가 설치되어 있는 상태이다. Error Lens는 실시간으로 오류 또는 경고를 알려주는 확장 프로그램이다.

경고 내용
- todos is missing in props validation
- todos.filter is missing in props validation
- todos.map is missing in props validation
코드에 경고가 생겼는데 이에 대한 원인은 프롭스로 전달한 속성에 대한 타입을 지정해주지 않아서이다. 프롭스의 타입을 지정해주려면 PropTypes을 설치 해야 하는데 설치방법은 아래 내용 참고 !
설치 ➡️ npm install prop-typesimport PropTypes from "prop-types"; TodoItem.propTypes = {
todos: PropTypes.array.isRequired,
setTodos: PropTypes.func.isRequired,
};
//isRequired는 해당 타입이 필수로 들어가야 된다는 옵션이다 필요한 props에 붙여주면 된다