# jsx-eslint/eslint-plugin-react

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jsx-eslint-eslint-plugin-react).**

9,287 stars · 2,735 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/jsx-eslint/eslint-plugin-react
- awesome-repositories: https://awesome-repositories.com/repository/jsx-eslint-eslint-plugin-react.md

## Topics

`development` `ecmascript` `eslint` `javascript` `lint` `react`

## Description

This project is an ESLint plugin and static analysis tool designed to enforce best practices, prevent bugs, and maintain code quality in React projects. It functions as a specialized JSX linter that analyzes the syntax and structure of components to detect anti-patterns and API misuse.

The plugin distinguishes itself by providing deep analysis of React-specific patterns, such as detecting state race conditions, preventing nested component definitions, and identifying unstable references that cause unnecessary re-renders. It also includes security hardening rules to identify vulnerabilities like cross-site scripting and unsafe DOM attributes within markup.

Beyond core logic, the tool covers a wide range of capabilities including architectural enforcement, performance optimization, and comprehensive style standardization. It provides automated rule fixing and curated configuration presets to maintain consistent naming conventions, prop definitions, and formatting across a codebase.

## Tags

### Development Tools & Productivity

- [React](https://awesome-repositories.com/f/development-tools-productivity/linting-plugins/react.md) — Implements custom linting rules specifically designed for the React ecosystem to improve application stability.
- [Automated Code Fixes](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/ast-structure-modification/automated-code-fixes.md) — Automatically transforms non-compliant React code structures into standardized formats using AST modifications.
- [Automated Code Fix Suggestions](https://awesome-repositories.com/f/development-tools-productivity/automated-code-fix-suggestions.md) — Provides a CLI to automatically apply fixes for detected linting violations in React code. ([source](https://github.com/jsx-eslint/eslint-plugin-react/))
- [Linting Configurations](https://awesome-repositories.com/f/development-tools-productivity/linting-configurations.md) — Provides pre-configured sets of rules to establish reasonable defaults for syntax and component patterns. ([source](https://github.com/jsx-eslint/eslint-plugin-react#readme))
- [React Linters](https://awesome-repositories.com/f/development-tools-productivity/react-linters.md) — Implements static analysis rules to identify performance regressions and architectural inconsistencies.
- [State Management Linting Rules](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-analysis-rules/state-management-linting-rules.md) — Identifies defined state properties that are never accessed to help remove dead code. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-state.md))
- [Referential Default Value Validation](https://awesome-repositories.com/f/development-tools-productivity/configuration-defaults/referential-default-value-validation.md) — Replace object or array literals in default parameters with stable references to avoid performance regressions. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-object-type-as-default-prop.md))
- [Markup](https://awesome-repositories.com/f/development-tools-productivity/indentation-rules/markup.md) — Validates and corrects the indentation style for JSX elements. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md))
- [Prop](https://awesome-repositories.com/f/development-tools-productivity/indentation-rules/prop.md) — Validates and corrects the indentation style of component props. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md))
- [JSX Formatting Rules](https://awesome-repositories.com/f/development-tools-productivity/jsx-formatting-rules.md) — Standardizes the placement of closing tags in multiline JSX elements. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-closing-tag-location.md))
- [Security Hardening Rules](https://awesome-repositories.com/f/development-tools-productivity/linting-plugins/react/security-hardening-rules.md) — Identifies potential vulnerabilities like cross-site scripting and unsafe DOM attributes within React markup.

### Web Development

- [JSX Syntax Validation](https://awesome-repositories.com/f/web-development/markup-compilers/syntax-validators/jsx-syntax-validation.md) — Validates JSX markup for structural and stylistic correctness, including indentation and bracket placement. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/README.md))
- [JSX Pattern Analysis](https://awesome-repositories.com/f/web-development/markup-compilers/syntax-validators/jsx-pattern-analysis.md) — Detects common patterns, anti-patterns, and API misuse within JSX markup and component structures.
- [Component Update Optimizations](https://awesome-repositories.com/f/web-development/performance-optimizations/component-update-optimizations.md) — Implements rules to enforce lifecycle methods that control re-render timing and prevent unnecessary updates. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-optimization.md))
- [Direct DOM Access Restrictions](https://awesome-repositories.com/f/web-development/direct-dom-manipulation/direct-dom-access-restrictions.md) — Blocks the use of legacy DOM lookup methods to ensure compatibility with future rendering optimizations. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md))
- [Definition Syntax Enforcement](https://awesome-repositories.com/f/web-development/functional-components/definition-syntax-enforcement.md) — Requires functional components to be defined using a specific syntax for stylistic consistency. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/function-component-definition.md))
- [Context Memoization](https://awesome-repositories.com/f/web-development/performance-optimizations/component-update-optimizations/context-memoization.md) — Ensures context provider values use stable object identities to prevent unnecessary re-renders of consumers. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-constructed-context-values.md))
- [State Centralization Enforcement](https://awesome-repositories.com/f/web-development/state-management/local-widget-state/state-centralization-enforcement.md) — Prevents the use of internal component state to ensure application state remains centralized. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-set-state.md))
- [State Update Loop Detectors](https://awesome-repositories.com/f/web-development/state-update-handlers/state-update-loop-detectors.md) — Detects synchronous state updates that would otherwise trigger redundant re-renders or infinite loops. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-will-update-set-state.md))
- [Mount-Phase Update Prevention](https://awesome-repositories.com/f/web-development/state-update-handlers/state-update-loop-detectors/mount-phase-update-prevention.md) — Identifies state updates within initial mount lifecycle methods to eliminate unnecessary first-pass re-renders. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md))

### Software Engineering & Architecture

- [AST Visitor Patterns](https://awesome-repositories.com/f/software-engineering-architecture/ast-visitor-patterns.md) — Utilizes AST visitor patterns to traverse code and trigger validation logic for React elements and components.
- [Coding Best Practices](https://awesome-repositories.com/f/software-engineering-architecture/coding-best-practices.md) — Analyzes code to identify and correct patterns that violate accessibility, performance, and framework conventions. ([source](https://github.com/jsx-eslint/eslint-plugin-react#readme))
- [Coding Standards Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement.md) — Provides automated systems for maintaining project guidelines and quality constraints across React components. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/async-server-action.md))
- [Component Architecture Rules](https://awesome-repositories.com/f/software-engineering-architecture/component-architecture-rules.md) — Enforces structural rules for components and state management to prevent complex nesting and ensure a clean project hierarchy.
- [Configuration-Free Rule Sets](https://awesome-repositories.com/f/software-engineering-architecture/configuration-free-rule-sets.md) — Provides curated, pre-defined rule sets to establish baseline code quality without manual configuration. ([source](https://github.com/jsx-eslint/eslint-plugin-react/))
- [JSX Scope Validation](https://awesome-repositories.com/f/software-engineering-architecture/jsx-scope-validation.md) — Ensures the required variable or custom pragma is available in scope when using markup to prevent reference errors. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md))
- [Mutation Prevention](https://awesome-repositories.com/f/software-engineering-architecture/mutation-prevention.md) — Forbids direct assignments to component state to ensure updates are performed through the proper React API. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md))
- [Project Configuration Presets](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-lifecycle-management/project-configuration-presets.md) — Provides pre-configured rule presets to accelerate project setup and ensure organizational standards. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/README.md))
- [Static Analysis Rule Engines](https://awesome-repositories.com/f/software-engineering-architecture/static-analysis-rule-engines.md) — Implements an engine for defining and executing static analysis rules that inspect JSX and React component structures.
- [Stateless Functional Components](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/functional-design-patterns/stateless-functional-components.md) — Enforces the use of pure functions for stateless components to simplify code and enable performance optimizations. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md))
- [Component Definition Constraints](https://awesome-repositories.com/f/software-engineering-architecture/component-definition-constraints.md) — Detects components declared inside other components to avoid unnecessary re-renders and state loss. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md))
- [Conditional Rendering Validations](https://awesome-repositories.com/f/software-engineering-architecture/conditional-rendering-validations.md) — Detects and fixes conditional rendering patterns that might accidentally output falsy values to the DOM. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md))
- [Deprecated API Detectors](https://awesome-repositories.com/f/software-engineering-architecture/deprecated-api-detectors.md) — Prevents reliance on unreliable patterns by flagging the use of deprecated mount state checks. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-is-mounted.md))
- [Deprecation Management](https://awesome-repositories.com/f/software-engineering-architecture/deprecation-management.md) — Flags the use of outdated methods and lifecycle hooks based on a specified version to ensure current practices. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md))
- [Naming Conventions](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/engineering-best-practices/code-craftsmanship-standards/coding-standards/naming-conventions.md) — Ensures event handler methods follow specific prefixing conventions. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md))
- [Component Naming](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/engineering-best-practices/code-craftsmanship-standards/coding-standards/naming-conventions/component-naming.md) — Requires user-defined components to follow PascalCase naming conventions. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md))
- [Display Name Requirements](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/engineering-best-practices/code-craftsmanship-standards/coding-standards/naming-conventions/component-naming/display-name-requirements.md) — Ensures components have display names for clearer and more identifiable debugging messages. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/display-name.md))
- [JSX Nesting Limits](https://awesome-repositories.com/f/software-engineering-architecture/jsx-nesting-limits.md) — Validates that elements do not exceed a specified nesting level to prevent overly complex component structures. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-max-depth.md))
- [Markup Structure Constraints](https://awesome-repositories.com/f/software-engineering-architecture/markup-structure-constraints.md) — Requires children to be nested between tags rather than passed as props to maintain standard markup patterns. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-children-prop.md))
- [Naming Conventions](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions.md) — Validates that state variables and setter functions follow symmetric naming patterns during destructuring. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md))
- [Configuration-Driven Rules](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-governance/standards-rule-enforcement/configuration-driven-rules.md) — Provides curated rule presets to ensure consistent coding standards across different React projects.
- [Prop Density Limits](https://awesome-repositories.com/f/software-engineering-architecture/prop-density-limits.md) — Enforces a maximum number of properties on a single line to improve code readability. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md))
- [Update Cycle Restrictions](https://awesome-repositories.com/f/software-engineering-architecture/reactive-update-scheduling/post-update-callbacks/lifecycle-update-hooks/update-cycle-restrictions.md) — Prevents redundant render calls by flagging state updates triggered within component update cycles. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md))
- [Read-Only State Protections](https://awesome-repositories.com/f/software-engineering-architecture/read-only-buffer-pooling/read-only-state-protections.md) — Requires prop type definitions to be read-only to prevent accidental mutation of component properties. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-read-only-props.md))
- [Render Flow Validation](https://awesome-repositories.com/f/software-engineering-architecture/render-flow-validation.md) — Detects missing return statements in component render methods to ensure content is passed to the renderer. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-render-return.md))
- [Component Prop Validations](https://awesome-repositories.com/f/software-engineering-architecture/schema-metadata-utilities/metadata-validations/component-prop-validations.md) — Cross-references prop types with default values to prevent configuration mismatches in components.
- [Style Guide Enforcers](https://awesome-repositories.com/f/software-engineering-architecture/style-guide-enforcers.md) — Enforces the use of either ES5 or ES6 class syntax for creating components. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md))
- [Component State Patterns](https://awesome-repositories.com/f/software-engineering-architecture/style-guide-enforcers/component-state-patterns.md) — Ensures class component state is initialized using a consistent pattern to maintain codebase uniformity. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/state-in-constructor.md))
- [API Signature Casing Validation](https://awesome-repositories.com/f/software-engineering-architecture/trie-data-structures/typo-tolerance/typo-correction-suggestions/api-signature-casing-validation.md) — Identifies incorrect capitalization in static properties and lifecycle methods to ensure API compatibility. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-typos.md))
- [Unsafe Programming Pattern Restrictions](https://awesome-repositories.com/f/software-engineering-architecture/unsafe-programming-pattern-restrictions.md) — Forbids the use of legacy lifecycle methods that are incompatible with asynchronous rendering. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unsafe.md))
- [Variable Usage Analysis](https://awesome-repositories.com/f/software-engineering-architecture/variable-usage-analysis.md) — Analyzes program flow to identify components or variables used within JSX before they are defined. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md))

### Testing & Quality Assurance

- [React Performance Optimization](https://awesome-repositories.com/f/testing-quality-assurance/react-performance-optimization.md) — Provides specialized analysis to identify and reduce unnecessary render cycles and unstable references.
- [Code Quality Tools](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools.md) — Enforces consistent naming conventions and component structures to maintain high software quality.
- [Type-Aware Linting](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/type-aware-linting.md) — Leverages type information to identify defined property types that are never referenced within a component. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md))
- [Dead Component Code Detection](https://awesome-repositories.com/f/testing-quality-assurance/dead-component-code-detection.md) — Identifies class methods and properties that are defined but never referenced within the component to reduce dead code. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-class-component-methods.md))
- [Duplicate Prop Detection](https://awesome-repositories.com/f/testing-quality-assurance/duplicate-prop-detection.md) — Detects and disallows the use of multiple identical properties on a single element to avoid unexpected behavior. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md))
- [Duplicate Prop Spreading Detection](https://awesome-repositories.com/f/testing-quality-assurance/duplicate-prop-spreading-detection.md) — Blocks the use of the same identifier spread multiple times within a single element to avoid unintentional overrides. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spread-multi.md))
- [HTML Attribute Validation](https://awesome-repositories.com/f/testing-quality-assurance/html-attribute-validation.md) — Checks that attributes on specific HTML elements use only valid, recognized values to prevent configuration errors. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-invalid-html-attribute.md))
- [Inline Function Detection](https://awesome-repositories.com/f/testing-quality-assurance/inline-function-detection.md) — Removes arrow functions or bind calls from props to stop unnecessary re-renders caused by changing function references. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md))
- [React Component Best Practices](https://awesome-repositories.com/f/testing-quality-assurance/react-component-best-practices.md) — Detects the use of array indices as keys in list elements to ensure stable identity and prevent unnecessary renders. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-array-index-key.md))

### User Interface & Experience

- [UI Element Keying](https://awesome-repositories.com/f/user-interface-experience/ui-element-keying.md) — Enforces the use of unique key props for elements in iterators to maintain stable component identity. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-key.md))
- [Default Prop Ordering](https://awesome-repositories.com/f/user-interface-experience/component-configuration-defaults/default-prop-ordering.md) — Enforces alphabetical ordering of default property declarations in components to improve discoverability. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-default-props.md))
- [Property Validation](https://awesome-repositories.com/f/user-interface-experience/component-property-systems/property-validation.md) — Identifies missing keys in iterators and improper naming conventions for boolean component properties. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/README.md))
- [Property Placement Rules](https://awesome-repositories.com/f/user-interface-experience/component-property-systems/static-property-assignment/property-placement-rules.md) — Requires component static properties to be declared in a specific position within classes to maintain consistent structure. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/static-property-placement.md))
- [Forbidden Prop Detection](https://awesome-repositories.com/f/user-interface-experience/component-props-management/prop-transformations/forbidden-prop-detection.md) — Blocks the use of forbidden props on DOM nodes or specific components to prevent invalid attribute usage. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/README.md))
- [Prop Sorting](https://awesome-repositories.com/f/user-interface-experience/component-props-management/prop-transformations/prop-sorting.md) — Enforces alphabetical ordering of props in elements to make them easier to locate and maintain. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md))
- [Component Prop Validation](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/component-prop-validation.md) — Ensures every property defined in default settings has a corresponding non-required type definition to prevent refactoring errors. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/default-props-match-prop-types.md))
- [Declaration Sorting](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/interface-configuration-definitions/component-attributes/prop-declarations/declaration-sorting.md) — Enforces alphabetical ordering of prop type definitions to make it easier to locate specific declarations. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-prop-types.md))
- [Exact Prop Matching](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/interface-configuration-definitions/component-attributes/prop-declarations/exact-prop-matching.md) — Flags generic prop definitions to ensure components only accept explicitly defined properties. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-exact-props.md))
- [Default Property Values](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/composition-rendering-patterns/component-patterns/default-property-values.md) — Ensures consistency by requiring default values for any component property not marked as required. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-default-props.md))
- [Markup Entity Validation](https://awesome-repositories.com/f/user-interface-experience/html-content-processing/html-content-processing/html-entity-processors/markup-entity-validation.md) — Detects characters in markup that could be mistaken for escape sequences and requires replacement with HTML entities. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unescaped-entities.md))
- [Prop Spreading Restrictions](https://awesome-repositories.com/f/user-interface-experience/property-spreading-utilities/prop-spreading-restrictions.md) — Prevents the use of spread attributes in markup to ensure components explicitly define the props they receive. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spreading.md))
- [Declarative Style Objects](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/declarative-style-objects.md) — Mandates the use of object-based style declarations for consistent styling. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/style-prop-object.md))

### Part of an Awesome List

- [Code Formatting and Style](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting-and-style.md) — Requires or prevents line breaks after elements and expressions for consistent formatting. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-newline.md))
- [Code Style and Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/code-style-and-formatting.md) — Enforces consistent code formatting by requiring each element to reside on its own line. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-one-expression-per-line.md))
- [Boolean Prop Naming](https://awesome-repositories.com/f/awesome-lists/devtools/pattern-matching/code-naming-patterns/boolean-prop-naming.md) — Enforces a consistent naming pattern for boolean properties across the codebase. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/boolean-prop-naming.md))
- [Development Tools](https://awesome-repositories.com/f/awesome-lists/devtools/development-tools.md) — Linting rules specifically for React codebases.

### Data & Databases

- [State Update Race Condition Prevention](https://awesome-repositories.com/f/data-databases/persistent-application-state/job-state-persistence/state-querying/atomic-state-updates/state-update-race-condition-prevention.md) — Disallows accessing the current state object inside a state update call to ensure updates use the most recent state. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-access-state-in-setstate.md))

### Programming Languages & Runtimes

- [Method Ordering](https://awesome-repositories.com/f/programming-languages-runtimes/class-method-definitions/method-ordering.md) — Organizes class component methods into a consistent sequence for better discoverability. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-comp.md))
- [Context-Aware Variable Resolution](https://awesome-repositories.com/f/programming-languages-runtimes/context-aware-variable-resolution.md) — Tracks variable resolution within JSX scopes to prevent undeclared references or false unused variable warnings.
- [Destructuring Style Enforcement](https://awesome-repositories.com/f/programming-languages-runtimes/destructuring-assignments/destructuring-style-enforcement.md) — Mandates or prohibits destructuring assignment for props, state, and context. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/destructuring-assignment.md))
- [Prop Type Strictness](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety/explicit-variable-typing/any-type-restrictions/prop-type-strictness.md) — Prevents the use of vague or overly general prop types by enforcing specific alternatives for better safety. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md))
- [Language-Specific Quality Standards](https://awesome-repositories.com/f/programming-languages-runtimes/language-specifications-standards/language-specific-quality-standards.md) — Enforces specific function types for components and requires display names for better debugging. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/README.md))

### Security & Cryptography

- [Cross-Site Scripting Prevention](https://awesome-repositories.com/f/security-cryptography/cross-site-scripting-prevention.md) — Blocks the use of javascript: URLs in markup to prevent cross-site scripting attacks. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-script-url.md))
- [Iframe Sandboxing](https://awesome-repositories.com/f/security-cryptography/iframe-sandboxing.md) — Requires a sandbox attribute on all iframe elements to restrict content capabilities and improve security. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/iframe-missing-sandbox.md))
- [Component Pattern Violations](https://awesome-repositories.com/f/security-cryptography/injection-prevention/reliability-prevention-patterns/logical-error-prevention/component-pattern-violations.md) — Blocks the use of the this keyword within stateless functional components to prevent errors from mixing patterns. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-this-in-sfc.md))
- [Object Property Prohibitions](https://awesome-repositories.com/f/security-cryptography/object-property-prohibitions.md) — Flags the use of properties known to be common security vulnerabilities to ensure unsafe content is handled with caution. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-danger.md))
- [Anchor Tag Vulnerabilities](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-vulnerabilities/anchor-tag-vulnerabilities.md) — Ensures anchor tags using target blank include the noreferrer relation to protect against security vulnerabilities. ([source](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md))
