create-action-redux

1.0.0 • Public • Published

Overview | Usage | Examples | Demo Sandbox


📖 Overview

A simple middleware for create actions in redux, following as basic skeleton reduxsauce createActions however with several changes and simpler.

📟 Usage

Use createActions() to build yourself an object which contains Types and Actions.

Description of parameters

options: { prefix: '' } 
// Assigns the value to the prefix of its actions and its types, if it is not past it is empty.
defaultActions: false 
// By default is set false, if you pass true is added the three default actions (Request, Success, Error), it assigns the prefix in the actions and types.
actions: { } 
// Here you will put all your actions, being able to overwrite the default or create other new actions.

Example of use

import createActions from '..'

export const { Actions, Types } = createActions({
    options: { prefix: 'app' },
    defaultActions: true,
    actions: { 
      increment: null,
      decrement: null,
      changeText: ["text"],
      changeName: { message: "Hello", name: "World" }
    }
});

Return of actions and types

  {
    Actions: {       
      appRequest: ƒ (),
      appSuccess: ƒ (),
      appError: ƒ (),
      changeName: ƒ (),
      changeText: ƒ (),
      decrement: ƒ (),
      increment: ƒ ()
    },
    Types: {       
      APP_APPREQUEST: "APP_APPREQUEST",
      APP_APPSUCCESS: "APP_APPSUCCESS",
      APP_APPERROR: "APP_APPERROR",
      APP_CHANGENAME: "APP_CHANGENAME",
      APP_CHANGETEXT: "APP_CHANGETEXT",
      APP_DECREMENT: "APP_DECREMENT",
      APP_INCREMENT: "APP_INCREMENT",
    }
  }

If null is passed to the action, the type is only returned. Example:

Actions.increment(); 
// { type: APP_INCREMENT }

By passing an array, they become the input parameters of the action

Actions.changeText("create-action-redux"); 
// { type: APP_CHANGETEXT, payload: { text: "create-action-redux" } }

If you pass an object of { property: defaultValue }, the default values are applied.

Actions.changeName({ name: "Redux" }); 
// { type: APP_CHANGENAME, payload: { message: "Hello", name: "Redux" } }

If you want to pass other parameters, just add that they will also be passed

Actions.changeName({ name: "Redux", send: true }); 
// { type: APP_CHANGENAME, payload: { message: "Hello", name: "Redux", send: true } }

To pass the input parameters defaultActions follows the same pattern. By default they are passed objects as parameters so just pass any object value which it understands as input parameter.

🗃 Examples

👀 Demo Sandbox

https://codesandbox.io/s/github/eliezer-souza/create-action-redux



MIT license, Copyright (c) 2019 Eliezer Souza.

Readme

Keywords

Package Sidebar

Install

npm i create-action-redux

Weekly Downloads

2

Version

1.0.0

License

none

Unpacked Size

9.3 kB

Total Files

5

Last publish

Collaborators

  • eliezersouza