A deep dive into React for beginners

This full-day workshop with Jack Franklin will guide you through practical exercises and equip you with the skills to build your first React app.

If you've never used React before or if you've done a little bit and found yourself struggling to put React to use in a real-life application or getting confused by how 3rd party libraries like Redux and React Router work, this is the workshop for you.

We won't use any other libraries over the course of the day; focusing purely on the functionality React provides out of the box. We'll look at techniques for building reusable, maintainable components and how you can use the features React provides to keep your application manageable as it grows larger. We'll cover all of React's features, from its older ones right through to ones that have only just been released (including hooks!) and talk through the pros and cons of each approach.

By focusing on the core library, you'll leave with a thorough understanding of what React provides, and will be able to pick up any React library you'd like to use in your applications and have a deeper understanding of the problems it solves and how it solves them.

Who is this for?

This workshop is perfect for you if you've never used React before, or if you've dipped your toes into the water but haven't explored React further. If you're familiar with another framework (Angular, Vue, and so on) this is a great workshop to take to get up to speed with React.

You do need to be comfortable writing JavaScript and have some awareness of newer JavaScript features including arrow functions and classes.

What will we cover?

The format of the workshop is very hands-on; I'll introduce a concept or technique with some slides and live demos before handing off to you to complete exercises on that topic.

We'll start from scratch, first at the paradigm shift from imperative to declarative code that React introduced and getting familiar with components which are the core idea of React. We'll dive into state and user events before looking at HTTP requests and other common tasks that most web apps have to do.

Once we're up to speed on the fundamentals we'll dive into more advanced features that you'll encounter once your apps start to grow in size and complexity. We'll see how libraries like Redux and React Router use React's context API to share data between components, and explore how we can make our components fit nicely with each other by exploring compound components. We'll look at how we can share common behaviour across multiple components using Higher Order components, React hooks and more, and compare them to help you understand the best tool for the job when you're back at work.

In short, this workshop provides a full day of hands-on React teaching and exercises that will leave you equipped to build complex, ambitious applications with React.