create-actions v2.0.0
create-actions
A tool to create action creators
Why would you use this?
If you're working with instances of alt or if you want to use action creators then this facilitates the creation of them by keeping your code concise.
Alt supports using action creators to dispatch, this means you can import
your actions directly in a component to use them rather than inject it through using context.
Example action creator
const CountIncremented = {
id: 'increment',
dispatch() {
return 1
}
}
You can then listen to this action in your store normally
this.bindAction(CountIncremented, this.incrementCount)
and you can dispatch it using alt.dispatch
alt.dispatch(CountIncremented)
Writing various actions can be tedious so this tool creates a shorthand for creating them.
Use it to create your own actions. Actions return the data they want to dispatch. Good for use with Alt
import createActions, { dispatch } from 'create-actions'
export default createActions('UserActions', {
loggedIn: dispatch,
loggedOut: dispatch,
changedName(newName) {
request.put('/users', { id: 4, name: newName })
return newName
},
})
You can also generate actions if all they are doing is passing data directly through to the store.
import { generateActions } from 'create-actions'
export default generateActions('MusicActions', [
'genreSelected',
'songPlayed',
'songStopped',
'fetchRelatedAlbums',
])
Using this with something like redux
is also straightforward.
import { generateActions } from 'create-actions'
const DocumentActions = generateActions('DocumentActions', ['changedTitle'])
store.dispatch(DocumentActions.changedTitle.dispatch('This is the new title'))