whatisgithub

What is rfcs?

reactjs/rfcs — explained in plain English

Analysis updated 2026-06-26

5,791Audience · developerComplexity · 1/5Setup · easy

In one sentence

The official place where React core developers and community members propose and discuss significant changes to the React library, submit a written design document as a pull request to start the structured review process.

Mindmap

mindmap
  root((React RFCs))
    What it does
      Design proposals
      Structured review
      Community discussion
    RFC Types
      React Team RFCs
      Community RFCs
      Active merged
    Workflow
      Fork and fill template
      Open pull request
      Final comment period
    Value
      Design history
      Upcoming features
      Rejection rationale
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read past RFC discussions to understand why React APIs were designed the way they were before working with them

USE CASE 2

Track upcoming React features by following open RFC pull requests before they ship in a release

USE CASE 3

Propose a new React API or behaviour change by forking the repo, filling in the RFC template, and opening a pull request

USE CASE 4

Study rejected RFCs to understand what kinds of proposals fall outside the React project's design constraints

How does it compare?

reactjs/rfcsgoogollee/go-socket.ioleandromoreira/linux-network-performance-parameters
Stars5,7915,7915,791
LanguageGo
Setup difficultyeasyeasyeasy
Complexity1/53/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

This repository is the official home for RFCs (Requests for Comments) related to the React JavaScript library. When someone wants to propose a significant change to React, such as a new API, the removal of an existing feature, or a shift in how React applications are conventionally structured, they submit an RFC here as a pull request containing a written design document. The goal is to give proposed changes a structured path through discussion and review before any code is written. The README distinguishes two types of RFCs. React Team RFCs come from the people who maintain React itself. These are typically submitted at the end of a long design process, sometimes spanning months or years of internal discussion. They represent a high degree of confidence from the core team, and the majority of merged RFCs fall into this category. Community RFCs can be submitted by anyone, but most do not get accepted. The README is candid about this: rejection usually happens because a proposal has design gaps, conflicts with other React features, or falls outside the project scope. Even when a community RFC is not accepted, the discussion it generates can be valuable. Library authors, React team members, and other contributors read RFC threads when working on related problems, so a rejected RFC can still shape what eventually lands in the framework. The workflow itself is straightforward. You fork the repo, copy the template file, fill in your proposal, and open a pull request. Reviewers give feedback, the author revises, and if the core team agrees the proposal is a good fit, it enters a three-day final comment period before being merged. A merged RFC is called active, which means the team agrees in principle, not that someone is necessarily working on it or that it will ship in the next release. This is a governance and design repository, not a code library. There is nothing to install or run here.

Copy-paste prompts

Prompt 1
Find the RFC for React Hooks and summarize the key design decisions and trade-offs the React team discussed before merging it
Prompt 2
I want to propose adding a new lifecycle method to React. Walk me through the RFC template fields I need to fill in and what the review process looks like
Prompt 3
Which currently open RFCs in the reactjs/rfcs repo are most likely to affect how I write React components in the next major version?
Prompt 4
Summarize the React Server Components RFC: what problem does it solve, what are the main constraints, and what did the community push back on?
Prompt 5
Show me examples of community RFCs that were ultimately rejected and explain the stated reasons so I can avoid the same pitfalls in my own proposal

Frequently asked questions

What is rfcs?

The official place where React core developers and community members propose and discuss significant changes to the React library, submit a written design document as a pull request to start the structured review process.

How hard is rfcs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is rfcs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.