0.0.7 • Published 5 years ago

redux-aider v0.0.7

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

Redux 辅助工具

安装

yarn add redux-aider

介绍

缩减 redux 样板代码

使用

// store/user_info.js
import { createAction, createReducer, combineReducer } from 'redux-aider';

// just care reducers
const reducerFunc = {
  accept: (state, action) => action.payload, // key is constant
}

// reducer config
const userInfo = {
  name: 'userInfo', // state name
  initState: {},
  reducerFunc,
}

export const userInfoActions = createAction(userInfo);
export const reducer = createReducer(userInfo);
// store/index.js
import {createStore } from "redux";
import { userReducer, userAction, combineReducers } from "./user";

// const store = createStore(userReducer);
const store = createStore(combineReducers([userReducer]));

console.log(store.getState());
// console.log: {name: {}}

store.dispatch(userAction.add({ name: "2" }));

console.log(store.getState());
// comsole.log: {name: "2"}

export default store;
// 在 component 中使用 action

import { connect } from 'react-redux';
import { userInfoActions } from 'store/user_info.js';

@connect(
  ({ userInfo }) => ({ userInfo }),
  dispatch => ({
    onAccept: payload => dispatch(userInfoActions.accept(payload))
  })
)