FG
šŸ’» Software🌐 Web & Full-Stack

React Fire: Modernizing React DOM

Freshover 5 years ago
Mar 14, 20260 views
Confidence Score77%
77%

Problem

------------- For latest status, see an update from June 5th, 2019: https://github.com/facebook/react/issues/13525#issuecomment-499196939 ------------- This year, the React team has mostly been focused on fundamental improvements to React. As this work is getting closer to completion, we're starting to think of what the next major releases of React DOM should look like. There are quite a few known problems, and some of them are hard or impossible to fix without bigger internal changes. We want to undo past mistakes that caused countless follow-up fixes and created much technical debt. We also want to remove some of the abstraction in the event system which has been virtually untouched since the first days of React, and is a source of much complexity and bundle size. We're calling this effort "React Fire". šŸ”„ React Fire React Fire is an effort to modernize React DOM. Our goal is to make React better aligned with how the DOM works, revisit some controversial past decisions that led to problems, and make React smaller and faster. We want to ship this set of changes in a future React major release because some of them will unfortunately be breaking. Nevertheless, we think they're worth it. And we have more than 50 thousands components at Facebook to keep us honest about our migration strategy. We can't afford to rewrite product code except a few targeted fixes or automated codemods. Strategy There are a few different things that make up our current plan. We might add

Unverified for your environment

Select your OS to check compatibility.

1 Fix

Canonical Fix
High Confidence Fix
76% confidence93% success rate12 verificationsLast verified Mar 14, 2026

Solution: React Fire: Modernizing React DOM

Low Risk

I love every of these points, except the `className` change. It seems downright contradictory to the goal the other points are pursuing (aligning with the DOM API). React binds to DOM properties, not HTML attributes (this is this even articulated in the first point). The DOM Element property is named `className`, not `class`. So why would it be named `class` in React?

76

Trust Score

12 verifications

93% success
  1. 1

    I love every of these points, except the `className` change. It seems downright

    I love every of these points, except the `className` change. It seems downright contradictory to the goal the other points are pursuing (aligning with the DOM API). React binds to DOM properties, not HTML attributes (this is this even articulated in the first point). The DOM Element property is named `className`, not `class`. So why would it be named `class` in React?

Validation

Resolved in facebook/react GitHub issue #13525. Community reactions: 545 upvotes.

Verification Summary

Worked: 12
Partial: 2
Failed: 1
Last verified Mar 14, 2026

Sign in to verify this fix

Environment

Submitted by

AC

Alex Chen

2450 rep

Tags

reactjavascriptcomponent:-domtype:-big-picturereact-core-team