https://github.com/jin5354/leaf-store
State manager
https://github.com/jin5354/leaf-store
Last synced: 3 months ago
JSON representation
State manager
- Host: GitHub
- URL: https://github.com/jin5354/leaf-store
- Owner: jin5354
- Created: 2017-08-23T01:50:54.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-20T08:40:38.000Z (over 7 years ago)
- Last Synced: 2025-01-26T01:27:44.047Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# leaf-store
[](https://travis-ci.org/jin5354/leaf-stire)
[](https://coveralls.io/github/jin5354/leaf-store?branch=master)state manager
## Intro
[现代前端科技解析 —— Redux 及其中间件](https://www.404forest.com/2017/09/13/modern-web-development-tech-analysis-redux-with-its-middleware/)
## Install
```bash
npm install leaf-store --save
```
or
```bash
yarn add leaf-store
```## Feature
- 支持并兼容已有的 redux 中间件
- 支持 combineReducers## Usage
Write a initialState:
```javascript
const initialState = {
counter: 0,
}
```Write a reducer:
```javascript
const reducer = (state = initialState, action) => {
switch(action.type) {
case('ADD_COUNTER'): {
return Object.assign({}, state, {
counter: state.counter + 1
})
}
default: {
return state
}
}
}
```Then create store:
```javascript
const store = createStore(reducer, applyMiddleware(thunkMiddleware))
```Use store.getState to get store state:
```javascript
store.getState()
```Use store.dispatch to dispatch action:
```javascript
store.dispatch({
type: 'ADD_COUNTER'
})
```## API
Similar to Redux.
- createStore(reducer, applyMiddleware)
Create store from reducer and applyMiddleware(optional). Return store.- combineReducers(reducerA, reducerB, ...)
Return a root reducer from seperated reduce module. Usage like createStore(combineReducers(reducerA, reducerB, ...)).- applyMiddleware(middlewareA, middlewareB, ...)
Usage like createStore(reducer, applyMiddleware(middlewareA, middlewareB, ...)). Then you will get store, with middleware integration.## LICENSE
MIT