Owner Stack (captureOwnerStack)

React 🔴 Senior

Définition

captureOwnerStack() (développement uniquement, retourne null en production) renvoie la pile des composants qui ont créé l'élément courant, et non de ceux qui l'ont simplement rendu ou transmis via children. Plus précise qu'une component stack pour remonter à l'origine d'une erreur ; disponible dans le rendu, les effets, les gestionnaires d'événements React et les callbacks d'erreur de la racine.

Analogie

La chaîne de responsabilité d'un colis : qui l'a expédié, pas la liste des entrepôts traversés.

Exemple de code

import * as React from 'react';

const original = console.error;
console.error = (...args) => {
  original(...args);
  if (process.env.NODE_ENV !== 'production') {
    const owners = React.captureOwnerStack(); // null hors contexte React
    if (owners) sendToOverlay({ message: args[0], owners });
  }
};
// Component Stack : SubComponent > fieldset > Component > App
// Owner Stack     : Component (celui qui a créé <SubComponent/>)

Cas d'usage

Outils de développement, overlays d'erreur de framework, debug d'un composant rendu à des endroits multiples.

Anti-pattern

L'appeler dans un setTimeout ou un écouteur DOM natif : hors contexte React, le résultat est null.
#debugging#react19#tooling

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre