react-perf/jsx-no-new-array-as-prop 성능
작동 방식
현재 메서드 내에서 로컬로 정의된 배열을 JSX 속성 값으로 사용하는 것을 방지합니다.
왜 문제가 되는가?
로컬로 정의된 배열을 속성 값으로 사용하면 예기치 않은 재렌더링과 성능 문제를 초래할 수 있습니다. 부모 컴포넌트가 렌더링될 때마다 배열의 새 인스턴스가 생성되며, 이로 인해 자식 컴포넌트가 불필요하게 재렌더링됩니다. 또한 컴포넌트의 속성이 일관되게 전달되지 않아 유지보수가 어려워집니다.
예시
이 규칙에 적절하지 않은 코드 예시:
jsx
<Item list={[]} />
<Item list={new Array()} />
<Item list={Array()} />
<Item list={this.props.list || []} />
<Item list={this.props.list ? this.props.list : []} />이 규칙에 적절한 코드 예시:
jsx
<Item list={this.props.list} />사용 방법
구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"plugins": ["react-perf"],
"rules": {
"react-perf/jsx-no-new-array-as-prop": "error"
}
}bash
oxlint --deny react-perf/jsx-no-new-array-as-prop --react-perf-plugin