easy-peasy

Easy peasy global state for React

Github星跟踪图

npm
MIT License
Travis
Codecov

npm install easy-peasy

Step 1 - Create your store

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

Step 2 - Wrap your application

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

Step 3 - 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>
  )
}

Features

  • Zero configuration
  • No boilerplate
  • React hooks based API
  • Computed properties - i.e. derived data
  • Data fetching / side effects
  • Persist state to session/local storage
  • Testing helpers
  • Extensive TypeScript support
  • Global, shared, or component level stores
  • React Native supported
  • Redux Dev Tools supported
  • Hot Reloading supported

Introduction

Easy Peasy provides you with an intuitive API to quickly and easily manage the state for your React application. Batteries are included - no configuration is required to support derived state, API calls, performance optimisation, developer tools etc.

Documentation

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

Backers ❤️

Extreme gratitude to all our backers! [Become a backer].

主要指标

概览
名称与所有者ctrlplusb/easy-peasy
主编程语言JavaScript
编程语言JavaScript (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2018-10-21 20:52:18
推送于2025-08-21 16:09:42
最后一次提交2025-03-22 11:39:25
发布数113
最新版本名称v6.1.0 (发布于 )
第一版名称v0.1.0 (发布于 2018-10-22 13:59:45)
用户参与
星数5k
关注者数32
派生数193
提交数742
已启用问题?
问题数553
打开的问题数10
拉请求数205
打开的拉请求数3
关闭的拉请求数185
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?