The simplest app state management for React
SimpleR State is an ultra-lightweight library that provides the simplest state management for React.
Get all these benefits with one dependency install:
npm install simpler-state
Step 1: Create an entity (shared state) and actions (updater functions)
// counter.js
import { entity } from 'simpler-state'
export const counter = entity(0)
export const reset = () => {
counter.set(0)
}
export const increment = by => {
counter.set(value => value + by)
// --OR--> counter.set(counter.get() + by)
}
Step 2: Use the entity in your components with hooks
import { counter, increment, reset } from 'counter'
const CounterView = () => {
const count = counter.use()
// --OR--> const count = useEntity(counter)
return (
<>
<div>{count}</div>
<button onClick={() => increment(1)}> + </button>
<button onClick={reset}> Reset </button>
</>
)
}
It’s that simple! But the library can do a lot more, so check out the docs website.
Learn more about what you can do with SimpleR State at simpler-state.js.org.
If you like this library, the concept, and its simplicity, please give it a star ⭐️ on the GitHub repo to let me know. 😀
The RFC (Request For Comments) has ended, but please feel free to open an issue on GitHub for any concerns/questions/suggestions.
This library is an evolution of the already production-proven react-entities that I also wrote. It shares the same stable core, but with a very different API.