项目作者: vshushkov

项目描述 :
Mixin for `redux-models`. Mixin adds CRUD-methods to models.
高级语言: JavaScript
项目地址: git://github.com/vshushkov/redux-models-mixin-crud.git
创建时间: 2017-01-12T13:42:24Z
项目社区:https://github.com/vshushkov/redux-models-mixin-crud

开源协议:

下载


redux-models-mixin-crud

Mixin for redux-models. Mixin adds CRUD-methods to models.

Usage

methods.js

  1. export default {
  2. create() { ... POST / },
  3. updateById() { ... PATCH /:id },
  4. deleteById() { ... DELETE /:id },
  5. find() { ... GET / }
  6. findById() { ... GET /:id }
  7. };

user.js

  1. import { createModel } from 'redux-models-creator';
  2. import crudMixin from 'redux-models-mixin-crud';
  3. import methods from './methods';
  4. const user = createModel({
  5. name: 'user',
  6. mixins: [
  7. crudMixin({ methods })
  8. ]
  9. });
  10. export const reducer = user.reducer;
  11. export default user;

Or you may pass to-api instance:

api.js

  1. import apiCreator from 'to-api';
  2. const creator = apiCreator({ baseUrl: process.env.BASE_URL });
  3. export default creator;

user.js

  1. import { createModel } from 'redux-models-creator';
  2. import crudMixin from 'redux-models-mixin-crud';
  3. import api from './api';
  4. const baseUrl = `${api.baseUrl}/users`;
  5. const user = createModel({
  6. name: 'user',
  7. mixins: [
  8. crudMixin({ apiCreator: api, baseUrl })
  9. ]
  10. })
  11. export const reducer = user.reducer;
  12. export default user;