jsx-eslint/eslint-plugin-react

no-unstable-nested-components does not detect components starting with underscore

Open

#4 002 ouverte le 28 avr. 2026

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)JavaScript (8 630 stars) (2 797 forks)batch import
bughelp wanted

Description

A pattern we use commonly in our codebase (pre-dates me, and we're too far along the road now to change) is to prefix some components with an underscore e.g. when forwarding refs, or to signal a component shouldn't be exported etc.

Components with this naming convention do not get detected as parent components, and thus the unstable nested components are not flagged

function _Parent() {
  function NotFlagged() {
    return <b>oh no</b>
  }

  return <NotFlagged />
}

Given there have been other issues raised relating, and carve outs added for, this naming convention:

I think this constitutes a bug/oversight in this rule. Happy to make a PR, if there is agreement

Guide contributeur