Specs & docs for potential future and experimental React APIs and JavaScript syntax.
Branch: master
Clone or download


The Future of React(?)

Welcome to the potential future of React projects. This repo is showcasing example code for APIs that we have not yet implemented nor agreed on. Its purpose is to provide a platform for discussing future changes. It also provides a shared goal so that we can figure out how to incrementally get to our ideal API.


You'll notice that the files in this repo are structured by numbered files. More stable proposals have lower numbers and more comments. Higher level proposals are built on top of these. You're expected to be familiar with the core proposals before reading the higher level examples.


  1. [Classes](./01 - Core/01 - Classes.js)
  2. [Mixins](./01 - Core/02 - Mixins.js)
  3. [Stateless Functions](./01 - Core/03 - Stateless Functions.js)
  4. [Modules](./01 - Core/04 - Modules.js)
  5. [Elements](./01 - Core/05 - Elements.js)
  6. [Refs](./01 - Core/06 - Refs.js)
  7. [Imperative Bridge](./01 - Core/07 - Imperative Bridge.js)

Web Components

  • (TBD)


  • (TBD)


  1. [Primitives](./04 - Layout/01 - Primitives.js)
  2. [Layout Components](./04 - Layout/02 - Layout Components.js)
  3. [Usage](./04 - Layout/03 - Usage.js)
  4. [Inline Styles](./04 - Layout/04 - Inline Styles.md)


  1. [Serializable Elements](./05 - Workers/01 - Serializable Elements.js)
  2. [Nested Components](./05 - Workers/02 - Nested Components.js)

Embedded Queries

  • (TBD)

Returning State

  1. [Stateful Functions](./07 - Returning State/01 - Stateful Functions.js)
  2. [Module Pattern](./07 - Returning State/02 - Module Pattern.js)
  3. [Default Props and Initial State](./07 - Returning State/03 - Default Props and Initial State.js)


  1. [Elements](./08 - Types/01 - Elements.js)
  2. [DOM Elements](./08 - Types/02 - DOM Elements.js)


The language syntax used here is using a hypothetical future JavaScript syntax. It's a mix of ECMAScript 6, proposals for ECMAScript 7, TypeScript and JSX. The idea is that it should be proposals that have a legitimate chance of being standardized.


Would you like to take part of the discussion? Open up an issue or pull request.