Reduce boilerplate of your Redux actions by creating flux-standard-actions with a set of utilities this package provides.
// actions.js
import {
createAction,
createRequestTypes,
createRequestActions
} from 're-create-actions';
// Constans
const GET_GITHUB_USERS = 'GET_GITHUB_USERS';
const SAVE_FORM_DATA = 'SAVE_FORM_DATA';
// Create action creator
export const getGithubUsers = createAction(GET_GITHUB_USERS);
// Use: dispatch(getGithubUsers())
// Create action creator with custom payload creator
// with this you can create custom payload creators
export const saveFormData = createAction(SAVE_FORM_DATA, payload => payload);
// 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())
$ npm install re-create-actions --save
$ yarn add re-create-actions
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.
Type: string
Type for your type property in action
Type: function
Custom payload creator for action payload
Type: function
Custom meta creator for action
Type: string
Type for your request types
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:
Thanks goes to these wonderful people (emoji key):
Vedran Blazenka 💻 📖 |
Dino Trojak 💻 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!