Spawn
XState is based on the actor model. Spawned actors are managed by the state machine.
Coming soon⦠example.
APIβ
actions: assign({
ref: ({ spawn }) => spawn(fromPromise(...), {
id: 'some-id',
})
})
spawn(actorBehavior, options?)
actorBehavior
- The behavior of the actor to spawn. This can be a function, promise, observable, or callback.options
- Options for spawning the actor.id
- The ID of the actor. This is used to reference the actor in the state machine.input
Sourceβ
- Inline:
spawn(fromPromise(...))
- Referenced:
spawn('getUser')
.provide({ actors })
Lifecycleβ
- Created & started when spawned
- Stopped when the machine is stopped
- Can be manually stopped
Stopping an actorβ
-
actions: stop('some-id')
-
Note this does not clear it from the
context
TypeScriptβ
Coming soon
Cheatsheetβ
Coming soon