Skip to content

[Bug]: react/jsx-no-literals is not compatible with for-of loop #3919

@ARiyou2000

Description

@ARiyou2000

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

The config:

"react/jsx-no-literals": [ "warn", { noStrings: false, ignoreProps: true, allowedStrings: [], noAttributeStrings: false, elementOverrides: { Trans: { allowElement: true, // applyToNestedElements: true }, }, } }

The line that caused the problem (line 406 in logs)

 for (const training of formData.trainings) { if (!training.name.trim()) { toast.error("All training modules must have a name"); return; } if (!training.description.trim()) { toast.error("All training modules must have a description"); return; } }

How I fixed it:

 formData.trainings.forEach((training) => { if (!training.name.trim()) { toast.error("All training modules must have a name"); return; } if (!training.description.trim()) { toast.error("All training modules must have a description"); return; } });

ESLint error logs:

[Error - 2:23:49 AM] An unexpected error occurred: [Error - 2:23:49 AM] TypeError: Cannot read properties of null (reading 'type') Occurred while linting /home/ariyou2000/Documents/projects/lingualinq/lingualinq/libs/components/src/course/course-creation-form.tsx:406 Rule: "react/jsx-no-literals" at isRequireStatement (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint-plugin-react@7.37.4_eslint@9.23.0_jiti@2.4.2_/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js:188:16) at /home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint-plugin-react@7.37.4_eslint@9.23.0_jiti@2.4.2_/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js:443:16 at Array.filter (<anonymous>) at VariableDeclaration (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint-plugin-react@7.37.4_eslint@9.23.0_jiti@2.4.2_/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js:441:12) at ruleErrorHandler (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1311:33) at /home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/safe-emitter.js:45:46 at Array.forEach (<anonymous>) at Object.emit (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/safe-emitter.js:45:26) at NodeEventGenerator.applySelector (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/node-event-generator.js:338:17) at NodeEventGenerator.applySelectors (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/node-event-generator.js:382:10) at NodeEventGenerator.enterNode (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/node-event-generator.js:396:8) at runRules (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1362:22) at #flatVerifyWithoutProcessors (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:2290:22) at Linter._verifyWithFlatConfigArrayAndWithoutProcessors (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:2381:43) at Linter._verifyWithFlatConfigArray (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:2484:15) at Linter.verify (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1840:10) at Linter.verifyAndFix (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:2749:20) at verifyText (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/eslint/eslint.js:336:45) at ESLint.lintText (/home/ariyou2000/Documents/projects/lingualinq/lingualinq/node_modules/.pnpm/eslint@9.23.0_jiti@2.4.2/node_modules/eslint/lib/eslint/eslint.js:977:5) at async /home/ariyou2000/.cursor/extensions/dbaeumer.vscode-eslint-3.0.10/server/out/eslintServer.js:1:26981 at async M (/home/ariyou2000/.cursor/extensions/dbaeumer.vscode-eslint-3.0.10/server/out/eslintServer.js:1:19807) at async /home/ariyou2000/.cursor/extensions/dbaeumer.vscode-eslint-3.0.10/server/out/eslintServer.js:1:234554 at async /home/ariyou2000/.cursor/extensions/dbaeumer.vscode-eslint-3.0.10/server/out/eslintServer.js:1:63886 

Expected Behavior

eslint-plugin-react version

7.37.4

eslint version

^9.23.0

node version

v20.18.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions