Advanced Topics and Patterns for React-based Web Apps
Formidable will hold a full-day React training workshop on Saturday, November 17th following the conference. The workshop with cover how to work with animations, forms, routing, and more with your React-based web apps. More info on the workshop below!
Morning: Context, Higher–Order Components, Render Props, and Forms
We will start the workshop with covering state management and React’s new context feature. We’ll review best practices on when to pass data as props and when to use context. After that, the workshop will cover the differences between higher order components and render props. Finally, we’ll round out the morning with best practices for forms in React. We’ll look into how to get values in and out of form state, how to manage form validation and display errors, and how to use a validation schema.
Afternoon: Routing and Animations
We will learn how to use declarative component-based routing to segment our React apps. We’ll leverage code-splitting to ensure we don’t load views prematurely. Finally, we’ll learn how to nest routes, handle default cases, and work with query params. For animations, we will create reusable components with animations built in. The animations can have their timing and values customized. Finally, we’ll create components that have animations that are also interactable.
Carlos is a principal software engineer at Formidable. He started out as a native macOS developer in 2008 and broke into iOS and web app development shortly after. He has worked on both native and web apps for Barclays, Marriott, Starbucks, and Walmart. When he’s not coding he lives in Omaha with his two dogs—a chocolate lab and a chihuahua.
Michael is a software engineer at Formidable in Denver, CO. He’s a graduate of both the Turing School and Hack Reactor, and works in both mobile and web applications. His current interests involve cross-platform and JAMstack architectures, as well as ReasonML. When he’s not coding he’s probably mountain biking or trail running.