DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

Cover image for State machine advent: Anatomy of a state machine ๐Ÿค– (2/24)
Mikey Stengel
Mikey Stengel

Posted on • Updated on

State machine advent: Anatomy of a state machine ๐Ÿค– (2/24)

A state machine is an abstract representation of possible states and their transitions.

In this post, we'll look at the characteristics that bring about a state machine.

Each state machine must have:

  • A finite number of states
  • An initial state
  • A finite number of events that can cause transitions
  • A finite number of transitions from one state to another

Glossary:

state represents how your application behaves at any given point.

states describe the set of possible states that your application can be in.

events external input that is mostly sent to state machines within event handlers.

transitions occur as a reaction to events and transition your current state to another state. state + event => newState.


Tomorrow we will apply the concepts learned above to create our first state machine with XState. ๐ŸŽ‰

About this series

Throughout the first 24 days of December, I'll publish a small blog post each day teaching you about the ins and outs of state machines and statecharts.

The first couple of days will be spent on the fundamentals before we'll progress to more advanced concepts.

Top comments (0)

๐ŸŒš Friends don't let friends browse without dark mode.

Good news! You can update to dark mode in your DEV settings.