ERROR

ESLint 에러 모음

ㅇㄱ9 2023. 1. 10. 16:56
728x90

이 페이지는 계속 업데이트 될 예정입니다.

===============================================

 

error  Duplicate case label  no-duplicate-case

원인 : switch문에서 case가 중복되는 경우 발생하는 에러. 

해결 방안 : 중복된 케이스문을 하나만 남기고 지우면 해결됨 

 

error  img elements must have an alt prop, either with meaningful text, or an empty string for decorative images  jsx-a11y/alt-text

원인 : img태그안에 alt속성이 없는 경우 발생하는 에러.
해결 방안 : alt 속성자체가 필수는 아니지만 이 경우 대체텍스트이므로 빈스트링이라도 넣어줘야 에러를 피할 수 있다. 

 

error  '***' is defined but never used  @typescript-eslint/no-unused-vars

원인 : 사용하지 않는 변수가 있는 경우 발생하는 에러.
해결 방안 : 해당 변수를 지워주면 해결됨.

 

+) 라이브러리에서 인자를 타입정의해둔 함수를 가져다 쓸때, 함수내부에서 사용하지 않는 인자로 인해 위 에러가 뜨는경우

.eslintrc 파일에 아래 rule을 추가해준다. 

no-unused-vars 설정을 off하고 typscript-eslint설정을 사용하는데 이때 "args":"none"옵션이 들어간 경우 argument체크는 건너 뛴다. (참고:https://eslint.org/docs/latest/rules/no-unused-vars )

"no-unused-vars": 0,
 "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }]

 

 

error  Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener  react/jsx-no-target-blank  react/jsx-no-target-blank

원인 : target_blank인 태그를 클릭하였을 때 새롭게 열린 탭에서 기존 페이지를 피싱페이지로 바꿔 정보를 탈취하는 Tabnabbing 피싱 공격에 노출될 수 있기 때문에 발생하는 에러 .
해결 방안 : target=”_blank” 와 rel=”noopener noreferrer”을 같이 적용하면 해결됨. 이때 noopener noreferrer는 원래페이지의 정보를 바꾸지 못하게 함.

 

error  The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype   guard-for-in

원인 : for-in을 사용하여 순회할때 원하지 않는 속성(객체의 필드)까지 열거되어 발생하는 에러.

해결 방안 : for-in본문을 if문으로 래핑하여 해결.

728x90
반응형