All Projects → ctrlplusb → Easy Peasy

ctrlplusb / Easy Peasy

Licence: mit
Vegetarian friendly state for React

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Easy Peasy

react-cool-form
😎 📋 React hooks for forms state and validation, less code more performant.
Stars: ✭ 246 (-94.56%)
Mutual labels:  hooks, state-management, react-hooks
atomic-state
A decentralized state management library for React
Stars: ✭ 54 (-98.81%)
Mutual labels:  hooks, state-management, react-hooks
react-immer
No nonsense state management with Immer and React hooks
Stars: ✭ 13 (-99.71%)
Mutual labels:  state-management, immer, react-hooks
Constate
React Context + State
Stars: ✭ 3,519 (-22.23%)
Mutual labels:  hooks, state-management, react-hooks
use-app-state
🌏 useAppState() hook. that global version of setState() built on Context.
Stars: ✭ 65 (-98.56%)
Mutual labels:  hooks, state-management, react-hooks
east-store
east-store is a state manager with easiest api that based hooks and immer.
Stars: ✭ 18 (-99.6%)
Mutual labels:  state-management, immer, react-hooks
dobux
🍃 Lightweight responsive state management solution.
Stars: ✭ 75 (-98.34%)
Mutual labels:  hooks, immutable, state-management
resynced
An experimental hook that lets you have multiple components using multiple synced states using no context provider
Stars: ✭ 19 (-99.58%)
Mutual labels:  hooks, state-management, react-hooks
use-query-string
🆙 A React hook that serializes state into the URL query string
Stars: ✭ 50 (-98.9%)
Mutual labels:  hooks, state-management, react-hooks
jedisdb
redis like key-value state management solution for React
Stars: ✭ 13 (-99.71%)
Mutual labels:  hooks, state-management, react-hooks
reason-hooks-lib
A set of reusable ReasonReact hooks.
Stars: ✭ 31 (-99.31%)
Mutual labels:  hooks, react-hooks
max-todos
A basic Todo app developed in React.
Stars: ✭ 19 (-99.58%)
Mutual labels:  hooks, react-hooks
use-window-focus
React Hook to check if window is focused
Stars: ✭ 19 (-99.58%)
Mutual labels:  hooks, react-hooks
use-metamask
a custom React Hook to manage Metamask in Ethereum ĐApp projects
Stars: ✭ 131 (-97.1%)
Mutual labels:  hooks, react-hooks
react-europe-2019
Slides and demo app from my keynote
Stars: ✭ 29 (-99.36%)
Mutual labels:  hooks, react-hooks
react-daterange-picker
A react date range picker to using @material-ui. Live Demo: https://flippingbitss.github.io/react-daterange-picker/
Stars: ✭ 85 (-98.12%)
Mutual labels:  hooks, react-hooks
react-smart-app
Preconfiguration React + Ant Design + State Management
Stars: ✭ 13 (-99.71%)
Mutual labels:  hooks, state-management
useAudioPlayer
Custom React hook & context for controlling browser audio
Stars: ✭ 176 (-96.11%)
Mutual labels:  hooks, react-hooks
learn-react-typescript
Learning React contents with TypeScript (Hooks, Redux)
Stars: ✭ 15 (-99.67%)
Mutual labels:  hooks, react-hooks
micro-observables
A simple Observable library that can be used for easy state management in React applications.
Stars: ✭ 78 (-98.28%)
Mutual labels:  hooks, state-management

 

Vegetarian friendly state for React

 

npm MIT License Travis Codecov

Easy Peasy is an abstraction of Redux, providing a reimagined API that focuses on developer experience. It allows you to quickly and easily manage your state, whilst leveraging the strong architectural guarantees and extensive eco-system that Redux has to offer.

  • Zero configuration
  • No boilerplate
  • React hooks based API
  • Extensive TypeScript support
  • Encapsulate data fetching
  • Computed properties
  • Reactive actions
  • Redux middleware support
  • State persistence
  • Redux Dev Tools
  • Global, context, or local stores
  • Built-in testing utils
  • React Native supported
  • Hot reloading supported

 

All of this comes via a single dependency install.

npm install easy-peasy

 

Fly like an eagle

Create your store

const store = createStore({
  todos: {
    items: ['Create store', 'Wrap application', 'Use store'],
    add: action((state, payload) => {
      state.items.push(payload);
    }),
  },
});

Wrap your application

function App() {
  return (
    <StoreProvider store={store}>
      <TodoList />
    </StoreProvider>
  );
}

Use the store

function TodoList() {
  const todos = useStoreState((state) => state.todos.items);
  const add = useStoreActions((actions) => actions.todos.add);
  return (
    <div>
      {todos.map((todo, idx) => (
        <div key={idx}>{todo}</div>
      ))}
      <AddTodo onAdd={add} />
    </div>
  );
}

 

Our Sponsors ❤️

We have only but great appreciation to those who support this project. If you have the ability to help contribute towards the continued maintenance and evolution of this library then please consider [becoming a sponsor].

 

Documentation

See the official website for tutorials, docs, recipes, and more.

 

OS Awards Nominee

Easy Peasy was nominated under the "Productivity Booster" category.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].