re-create-actions
v1.0.1
Published
Group of utilities for creating Flux standard actions.
Downloads
4
Readme
Introduction
Reduce boilerplate of your Redux actions by creating flux-standard-actions with a set of utilities this package provides.
TL;DR
// actions.js
import {
createAction,
createRequestTypes,
createRequestActions
} from 're-create-actions';
// Constans
const GET_GITHUB_USERS = 'GET_GITHUB_USERS';
// Create action creator
export const getGithubUsers = createAction(GET_GITHUB_USERS);
// Use: dispatch(getGithubUsers())
// Create network types/constants
const GET_GITHUB_USERS_RT = createRequestTypes('GET_GITHUB_USERS_RT');
// Use: GET_GITHUB_USERS_RT.REQUESTED, GET_GITHUB_USERS_RT.COMPLETED, GET_GITHUB_USERS_RT.FAILED
// Create actions from network types
const getGithubUsersRT = createRequestActions(GET_GITHUB_USERS_RT);
// Use: dispatch(getGithubUsersRT.requested())
Install
NPM
$ npm install re-create-actions --save
Yarn
$ yarn add re-create-actions
Usage
Every helper will create action that is defined in shape by Flux standard action. We decided to go with Flux standard action because it gives you definition of minimal, common standards that are human-friendly and enable us to create assumptions about the shape of our actions.
NOTE: You can't disable flux standard action structure at the moment. But there is an open issue for this.
API
createAction (type, payloadCreator, metaCreator)
type (required)
Type: string
Type for your type property in action
payloadCreator (optional)
Type: function
Custom payload creator for action payload
metaCreator (optional)
Type: function
Custom meta creator for action
createRequestTypes(type)
type
Type: string
Type for your request types
Credits
Projects was inspired by headaches given from reading bunch of boilerplates during pull request reveiws at reactor.studio.
API for this package was inspired by this awesome projects:
Contributors
Thanks goes to these wonderful people (emoji key):
| Vedran Blazenka💻 📖 | Dino Trojak💻 | | :---: | :---: |
This project follows the all-contributors specification. Contributions of any kind welcome!