Skip to content
← Back to rules

react/no-string-refs 정확성

작동 방식

이 규칙은 ref 속성에서 문자열 리터럴 사용을 비활성화하는 예전 동작을 막습니다.

왜 문제가 되는가?

React 16.3.0부터 ref 속성에서 문자열 리터럴 사용은 폐기되었습니다.

문자열 참조는 React 19에서 완전히 제거되었으며, 따라서 React 19 이상을 사용하는 경우 이 규칙을 비활성화할 수 있습니다.

예시

이 규칙에 대해 잘못된 코드 예시:

jsx
var Hello = createReactClass({
  render: function () {
    return <div ref="hello">안녕하세요, 세계.</div>;
  },
});

var Hello = createReactClass({
  componentDidMount: function () {
    var component = this.refs.hello;
    // ...component로 어떤 작업 수행
  },
  render: function () {
    return <div ref="hello">안녕하세요, 세계.</div>;
  },
});

이 규칙에 대해 올바른 코드 예시:

jsx
var Hello = createReactClass({
  componentDidMount: function () {
    var component = this.hello;
    // ...component로 어떤 작업 수행
  },
  render() {
    return (
      <div
        ref={(c) => {
          this.hello = c;
        }}
      >
        안녕하세요, 세계.
      </div>
    );
  },
});

구성

이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.

noTemplateLiterals

type: boolean

기본값: false

문자열 리터럴 외에도 템플릿 리터럴 사용을 금지합니다.

사용 방법

구성 파일 또는 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음과 같이 사용할 수 있습니다:

json
{
  "plugins": ["react"],
  "rules": {
    "react/no-string-refs": "error"
  }
}
bash
oxlint --deny react/no-string-refs --react-plugin

참고 자료