action-creator v0.7.1
action-creator
A simple way to write function with context dependencies without context parameter
Get started
install
npm install action-creator
# or
yarn add action-creatorusage
import {bindActionCreators, connect} from 'action-creator'Docs
1. bindActionCreators(object: actionCreators)(ctx) => object: actions
Param actionCreators is a object contain action creators, like:
bindActionCreators({
  getIp: () => {},
  getUserName: () => {},
})it will return a function, and then pass param ctx to this function. like:
const ctx = {
  req: {},
  res: {}
}
bindActionCreators({
  getIp: () => {},
  getUserName: () => {},
})(ctx)it will return a object contains {getIp, getUserName}, now you can use getIp directly.
2. connect(function: bindActionCreators(actionCreators))(beConnected) => function: wrappedActionCreator
An action is written like (..args) => (ctx, getAction) => {...}, so if you want to use getAction method,
you must connect it with other actions you need. like:
const getName = (...args) => (ctx, getAction) => {
  const {getParentName} = getAction()
  return getParentName(...args) + args[1]
}
// ... after do bindActionCreators(...)(ctx), you run getName() will
// cause an Error 'getParentName is not a function'
const connectedGetName = connect(
  bindActionCreators({
    getParentName
  })
)(getName)
// this will be okLicense
MIT
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago