React is a library for building user interfaces. Developers specify how an application “should look”, and React automatically updates the page when the underlying data changes. React is able to do this through a process we call “Reconciliation”. In this talk, I’ll describe how reconciliation works within React, and how we use it to enhance both performance and user experience. In addition to being conceptually interesting, understanding the reconciliation process will allow you to better optimize your own applications.