XState 5.29.0

5.29.0
Added 1
  • Add `actor.select(selector, equalityFn?)` method to derive a `Readable<TSelected>` from an actor's snapshot with `.subscribe()` and `.get()` methods for accessing selected values
Minor Changes
  • #5299 ca8306f Thanks @Uniqen! - Add actor.select(selector, equalityFn?) method to derive a Readable<TSelected> from an actor's snapshot. The returned object has .subscribe() (only emits when the selected value changes, using Object.is by default) and .get() for synchronous access.

    const actor = createActor(machine);
    actor.start();
    
    const count = actor.select((snap) => snap.context.count);
    
    count.get(); // current value
    
    count.subscribe((value) => {
      console.log(value); // only fires when count changes
    });
    
View original

Upgraded? How did it go?

Discussion