jsx-eslint/eslint-plugin-react

[Bug]: react/jsx-key does not detect usage of `Array.push` etc.

オープン

#3,937 opened on 2025/07/08

 (3 件のコメント) (0 件のリアクション) (0 人の担当者)JavaScript (2,731 件のフォーク)batch import
enhancementhelp wanted

Repository metrics

Stars
 (9,293 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Is there an existing issue for this?

  • I have searched the existing issues and my issue is unique
  • My issue appears in the command-line and not only in the text editor

Description Overview

Tl;dr the lint rule doesn't pick up items that are inserted into an array via push/unshift etc.

Expected Behavior

I've seen this pattern many times and I think we could reasonably assume that when the method name matches an array insertion method we can report an error.

This isn't foolproof without type information but I think this will be valuable.

Example:

const Comp = () => {
   const items = [];
   if (someCondition) {
      // this should cause an error/warning
      items.push(<span>test</span>);
   }
   if (someOtherCondition) {
      // same
      items.push(<span>test2</span>);
   }
   return <div>{items}</div>;
}

eslint-plugin-react version

7.37.5

eslint version

9.30.1

node version

24

コントリビューターガイド