Suppressions de React 19 (propTypes, defaultProps, ReactDOM.render)
React 🟡 MidDéfinition
React 19 (5 décembre 2024, guide de migration publié le 25 avril 2024) supprime les API dépréciées de longue date : propTypes et defaultProps sur les composants fonction (utiliser TypeScript et les paramètrès par défaut), les refs chaînés, le legacy Context, React.createFactory, ReactDOM.render, hydraté, unmountComponentAtNode, findDOMNode et react-test-renderer/shallow. Les builds UMD disparaissent aussi. Le codemod react/19/migration-recipe automatise l'essentiel.
Analogie
Un grand déménagement : ce qui était étiqueté « à jeter » depuis des années part enfin à la benne.
Exemple de code
// ❌ React 18
function Card({ title }) { /* ... */ }
Card.propTypes = { title: PropTypes.string };
Card.defaultProps = { title: 'Sans titre' };
ReactDOM.render(<App />, document.getElementById('root'));
// ✅ React 19
function Card({ title = 'Sans titre' }: { title?: string }) { /* ... */ }
createRoot(document.getElementById('root')).render(<App />);
// Migration automatisée
// npx codemod@latest react/19/migration-recipe
// npx types-react-codemod@latest preset-19 ./src
Cas d'usage
Question d'entretien classique : « qu'est-ce qui casse en passant à React 19 ? » ; audit d'une base legacy avant montée de version.
Anti-pattern
Termes liés
Fiche mise à jour le 2026-09-27