jsx-eslint/eslint-plugin-react

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

Open

#4,002 opened on Apr 28, 2026

View on GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (2,797 forks)batch import
bughelp wanted

Repository metrics

Stars
 (8,630 stars)
PR merge metrics
 (No merged PRs in 30d)

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

Contributor guide