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.
Structure
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.
Core
- [Classes](./01 - Core/01 - Classes.js)
- [Mixins](./01 - Core/02 - Mixins.js)
- [Stateless Functions](./01 - Core/03 - Stateless Functions.js)
- [Modules](./01 - Core/04 - Modules.js)
- [Elements](./01 - Core/05 - Elements.js)
- [Refs](./01 - Core/06 - Refs.js)
- [Imperative Bridge](./01 - Core/07 - Imperative Bridge.js)
Web Components
- (TBD)
Animations
- (TBD)
Layout
- [Primitives](./04 - Layout/01 - Primitives.js)
- [Layout Components](./04 - Layout/02 - Layout Components.js)
- [Usage](./04 - Layout/03 - Usage.js)
- [Inline Styles](./04 - Layout/04 - Inline Styles.md)
Workers
- [Serializable Elements](./05 - Workers/01 - Serializable Elements.js)
- [Nested Components](./05 - Workers/02 - Nested Components.js)
Embedded Queries
- (TBD)
Returning State
- [Stateful Functions](./07 - Returning State/01 - Stateful Functions.js)
- [Module Pattern](./07 - Returning State/02 - Module Pattern.js)
- [Default Props and Initial State](./07 - Returning State/03 - Default Props and Initial State.js)
Types
- [Elements](./08 - Types/01 - Elements.js)
- [DOM Elements](./08 - Types/02 - DOM Elements.js)
Syntax
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.
Contribute
Would you like to take part of the discussion? Open up an issue or pull request.