XState
FINITE STATE MACHINE
An abstract machine that can be in exactly one of a finite number of states at any given time.
Finite-State Machine
Deterministic
Finite
Automata
Predetermined Sequence
Pure Process
(new state = state + action)
Predefined
States
http://slides.com/davidkhourshid/finite-state-machines#/16

https://medium.com/@brianray_7981/tutorial-write-a-finite-state-machine-to-parse-a-custom-language-in-pure-python-1c11ade9bd43
Adjacency list
http://slides.com/davidkhourshid/finite-state-machines#/24


First FSM
https://github.com/davidkpiano/xstate




Hierarchical (Nested) State Machines
https://github.com/davidkpiano/xstate

Parallel State Machines
https://github.com/davidkpiano/xstate

History States
https://github.com/davidkpiano/xstate


Why Finite State Machine?
http://slides.com/davidkhourshid/finite-state-machines#/9

http://slides.com/davidkhourshid/finite-state-machines#/10

CONST Foo = (m, s, a) => m[s][a]
It's Pure Function!
Common Language for
designers & developers
Eliminate
unnecessary state
Easy to Test
Reusable Logic
Fist Example
For Vue



What's wrong?
<button @click="onClick">
Fetch
</button>
//
const onClick = () => {
if (isLoading) return
fetch();
}


Example!
Example!


(WIP) XState in 5 min
By guansunyata
(WIP) XState in 5 min
- 440