UNPKG

redux-dry-ts-actions

Version:

Micro library to create actions for redux with automatically inferred TypeScript types

38 lines (29 loc) 1.07 kB
# redux-dry-ts-actions A micro library to help create action constructors and action types for redux. Written in, and designed for TypeScript. *Don't repeat yourself*: 1. You define each action constructor together with its action type string. 2. TypeScript will then infer the action type union for you. ## Declaring action constructors and action type ```ts const actions = { addTodo: createAction('addTodo', (text: string) => ({ text })), deleteTodo: createAction('deleteTodo', (id: string) => ({ id })), clearCompleted: createAction('clearCompleted'), }; type Action = ActionTypeFromActionCreators<typeof actions>; /* The Action type will be correctly inferred as: type Action = { type: 'addTodo', payload: { text: string } } | { type: 'deleteTodo', payload: { id: string } } | { type: 'clearCompleted' }; */ ``` ## Using action constructors ```ts private onAddTodoClicked = () => { this.props.dispatch(actions.addTodo(this.state.text)); }; private onClearClicked = () => { this.props.dispatch(actions.clearCompleted()); }; ```