1. 17
    Recall Previous States with XState History States Nodes
    2m 37s

Recall Previous States with XState History States Nodes

Kyle Shevlin
InstructorKyle Shevlin

Share this video with your friends

Send Tweet

Generally speaking, state machines do not and should not have a sense of time. They are intended to be pure functions that receive a state and event and return the next state. Pure functions by design have no sense of history.

Yet, it is occasionally useful to return to a previous state. How is this accomplished? With history state nodes. Each state object returned by XState contains a special property that points to the previous state. When a history state node is defined and is the target of a transition, the machine returns to this previously stored state.

We can create a history node by defining the type as history, and setting the history property to either shallow (the default) or deep.