The State of RecoilJS
Tags: beginners, react, recoil, javascript
Published: 2020-05-18 13:31:45

---
title: The State of RecoilJS
published: true
description: The core concept of Recoil is the data-flow where data travels from Atoms (shared state) through Selectors (pure functions) down into React components building your app.
cover_image: https://i.imgur.com/6lD1xs2.jpg
tags: beginners, react, recoil, javascript
---
&nbsp;

The core concept of Recoil is the data-flow where data travels from Atoms (shared state) through Selectors (pure functions) down into React components building your app.

React Components can subscribe to these atoms. The subscription can be used to get and set data from Atoms. Recoil works and thinks just like React providing a fast & flexible shared state.

Advantages:

- Easy to set up and use
- Supports asynchronous state management
- State persistence 
- boilerplate-free API where the shared state has the same simple get/set interface as React local state;
- Compatibility with Concurrent Mode and other new React features as they become available;
- Code-splitting possibility thanks to incremental & distributed state definition,
- The state can be replaced without modifying the components that use it.
- Derived data can move between being synchronous and asynchronous without modifying the components that use it.
- Backward-compatibility of application state; persisted states can survive application changes.


RecoilJS uses the Context API internally and it solves the problem of efficient render with shared state across components.

Recoil is built on React primitives, the benefits are clear: Cleaner and more compatible. It is like having useState on steroids. Recoil feels like its part of the React core facilitating the use of state or shared state in your components with less context boilerplate.


Learn more about Recoil:

- [Up and running with Recoil - a new state management library for React](https://egghead.io/playlists/up-and-running-with-recoil-a-new-state-management-library-for-react-78b8)
- [Oficial Docs](https://recoiljs.org/)
- [Recoil: State Management for Today's React](https://www.youtube.com/watch?v=_ISAA_Jt9kI)
- [RecoilJS Github](https://github.com/facebookexperimental/Recoil) 
- [A simple counter with the new Recoil](https://dev.to/vacom/a-simple-counter-with-the-new-recoil-facebook-state-management-library-for-react-215k)

&nbsp;

### Share Recoil useful links and tutorials in the comments this will help the community

&nbsp;

### [What is UpStamps?](https://www.upstamps.com)

[UpStamps](https://www.upstamps.com) is a Feature Flag Management Platform to separate code from different environments and projects. 

UpStamps helps teams manage their projects using feature management with a **Central control** to progressively deliver features to users with confidence.

[Sign Up for Free](https://app.upstamps.com)

🛳 Ship when you're ready 
🚀 Accelerate feature release 
🙈 Hide unfinished features

![UpStamps Control Center](https://i.imgur.com/FQEqNbP.png)

Useful links about UpStamps:

- [About](https://www.upstamps.com)
- [Documentation](https://docs.upstamps.com)
- [Start Testing in Production](https://app.upstamps.com)