Owner Stack (captureOwnerStack)
React 🔴 SeniorDé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.
Termes liés
Fiche mise à jour le 2026-09-27