# Action

Defines an action against your model


  Model extends object = {}, 
  Payload = void
  • Model

    The model against which the action is being defined. You need to provide this so that the state that will be provided to your action is correctly typed.

  • Payload

    The type of the payload that the action will receive. You can omit this if you do not expect the action to receive any payload.

# Example

import { Action, action } from 'easy-peasy';

interface TodosModel {
  todos: string[];
  addTodo: Action<TodosModel, string>;

const todosModel: TodosModel = {
  todos: [],
  addTodo: action((state, payload) => {