New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

redux-actions-helper

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redux-actions-helper

> utilities for redux actions

  • 0.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
76
decreased by-28.97%
Maintainers
1
Weekly downloads
 
Created
Source

redux-actions-helper

utilities for redux actions

Installation

npm install redux-actions-helper --save

createAction

createAction(
  actionsName:string,
  payloadCreator: function,
  metaCreator: function,
)
  • payloadCreator: (args) => payload

    default: (...args) => args

  • metaCreator: (args) => payload

    default: (...args) => args

//  actions/todo.js

import { createAction } from 'redux-actions-helper';

export const toggleTODO = createAction(
  'TOGGLE_TODO'
);

export const updateTODO = createAction(
  'UPDATE_TODO', (task)=>({
    id: task.id,
    task
  })
);

mapToAction then use it

//  app/Home.js

this.props.toggleTODO(1)

this.props.updateTODO({
  id: 1,
  title: 'new'
})

handleActions

//  reducer/todo.js
import { handleActions } from 'redux-actions-helper';
import * as todoActions from '../../actions/todo'

const initState = {
  tasks: []
}

export default handleActions((on) => {
  on(todoActions.toggleTODO, (state, action) => {
    const taskId = action.payload
    return {
      ...
    }
  })
  on(todoActions.updateTODO, (state, action) => {
    const {id, task} = action.payload
    return {
      ...
    }
  })
}, initState)

createActionWithState

createActionWithState(
  actionsName: string,
  payloadCreator: ({ dispatch, getState }, args) => payload,
  metaCreator: (args) => meta,
)
//  actions/todo.js
import { createActionWithState } from 'redux-actions-helper';

export const updateTODO = createActionWithState(
  'UPDATE_TODO', ({ dispatch, getState }, task)=>{
    const state = getState()
    return {
      id: task.id,
      task,
      operator: state.user.id
    }
  }
);

use it as same as createAction

//  app/Home.js

this.props.updateTODO({
  id: 1,
  title: 'new'
})

async

add promise-middleware to middlewares

import { promiseMiddleware } from 'redux-actions-helper';

applyMiddleware(
  ...
  promiseMiddleware,
  ...
)

//  actions/todo.js
import { createAction } from 'redux-actions-helper';

export const updateTODO = createAction(
  'UPDATE_TODO', (task)=>{
    return taskApi.update(task) //api will return a promise
  }
);
//  reducer/todo.js
import { handleActions } from 'redux-actions-helper';
import * as todoActions from '../../actions/todo'

const initState = {
  tasks: []
}

export default handleActions((on) => {
  on(todoActions.updateTODO, (state, action) => {
    // api start
    const requestArgumens = action.payload[0] // task
    return {
      ...
    }
  })
  on.success(todoActions.updateTODO, (state, action) => {
    // promise resolve
      const response = action.payload
      const requestArgumens = action.meta[0] // task
      return {
        ...
      }
  })
  on.fail(todoActions.updateTODO, (state, action) => {
    // promise reject 
      const error = action.payload
      const requestArgumens = action.meta[0] // task
      return {
        ...
      }
  })
}, initState)

FAQs

Package last updated on 20 Dec 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc