Artwork

Content provided by Adam Wathan. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adam Wathan or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

130: David Khourshid - Building Better UI Components with State Machines

54:16
 
Share
 

Manage episode 247888818 series 1401837
Content provided by Adam Wathan. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adam Wathan or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Topics include:

  • What exactly is a finite state machine?
  • Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code
  • Why it makes so much more sense to keep track of a component's state using some sort of label
  • How simple it can actually be to implement UI component logic with a state machine and why you shouldn't think of it as complex or over-engineering
  • How you can think of using state machines in UI programming to be like an inversion of the typical approach you may have taken in the past, where actions become scoped to certain states instead of actions needing to inspect the current state
  • What events might look like in your state machine and where you're actually sending them from and to
  • Advice for naming your events
  • What it means to "transition" between states
  • How using a state machine makes it easy to provide slightly different behavior for the same action based on the current state
  • The benefits of visualizing your state machines
  • Using the XState library to build state machines in JavaScript

Sponsors:

Links:

  continue reading

152 episodes

Artwork
iconShare
 
Manage episode 247888818 series 1401837
Content provided by Adam Wathan. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Adam Wathan or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.

Topics include:

  • What exactly is a finite state machine?
  • Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code
  • Why it makes so much more sense to keep track of a component's state using some sort of label
  • How simple it can actually be to implement UI component logic with a state machine and why you shouldn't think of it as complex or over-engineering
  • How you can think of using state machines in UI programming to be like an inversion of the typical approach you may have taken in the past, where actions become scoped to certain states instead of actions needing to inspect the current state
  • What events might look like in your state machine and where you're actually sending them from and to
  • Advice for naming your events
  • What it means to "transition" between states
  • How using a state machine makes it easy to provide slightly different behavior for the same action based on the current state
  • The benefits of visualizing your state machines
  • Using the XState library to build state machines in JavaScript

Sponsors:

Links:

  continue reading

152 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide