React Round Up

React Round Up


RRU 069: The State Machines in React with David Khourshid

July 09, 2019

Sponsors


Netlify


Sentry use the code “devchat” for 2 months free on Sentry’s small plan


Triplebyte offers a $1000 signing bonus


Panel


David Ceddia


Lucas Reis


Thomas Aylott


With special guest: David Khourshid

Episode Summary

David Khourshid is the author of a library called Xstate, He has been a developer for 7 years, currently works for Microsoft, his passion is frontendTalks a. In college, he actually studied piano performance, and so he talks about how he got into programming and where he started. The panel discusses his unique husky animation and how he came up with the idea for it and went about programming it.

The panel discusses what a state is in React. David defines a state as a moment in time. States can change, when they do, that’s a state transition. They talk about the utility of states and thinking about your app as a state machine. They agree that describing your code as a state machine makes it easier to communicate and connect with non developers. The panel discusses the importance of learning from other industries, such as approaching programming the same way construction workers build a house. They debate the Waterfall versus the Agile mindset. 

They talk about the advantages of programming in React and focusing on the state machine, especially because it is important to be intentional about dealing with concepts separate from other concepts. They share different ways to switch to state machine thinking, one of which is to look at your event handlers and make sure they are doing anything besides dispatching events. David talks about his library called Xstate and the basics of his library and his inspiration, and who else is working in state machines. The finish by discussing industry standards. 

Links


Xstate


Keyframers


Bootstrap


David’s husky animation


The Checklist Manifesto


Sion SCXML


QT


Elm


Thunk


Observable


NoFlo


Sketch Systems


State Charts 


Follow DevChat on Facebook and Twitter

Picks

David Ceddia:


Atomic Habits by James Clear 


Bullet Journal


Thomas Aylott:


The Checklist Manifesto


Thomas’ Youtube Channel


David Khourshid:


Constructing The User Interface with State Charts (check the library first)


Follow David @davidkpiano