Epic Web Conf late-bird tickets are available now, hurry!

Get your tickets here

Join the community and network with other great web devs.

Time's up. The sale is over
Back to overview

Join Kent C. Dodds for "Advanced React Patterns"

Not currently scheduled

Sign up to be notified when this workshop is scheduled

The problem statement

Building reusable hooks and components can be tricky

Just like any other kind of abstraction, you can easily find yourself captive to its maintenance

Whether it's the dreaded "apropcalypse" of a component with tons of props, or a custom hook with too many options, it's not fun for maintainers or users alike.

Inevitably, the incidentally-abstracted "reusable" React hooks and components will ultimately slow you down or be abandoned for duplication. It doesn't have to be like this.

At the end of this workshop you'll be able to do all of these things yourself.

Here's why you should register for the workshop.

Register here
  1. 01.Create components that work together

    The compound components pattern used by libraries like ReachUI and MaterialUI is a proven design technique that you'll definitely want in your personal arsenal of patterns.

  2. 02.Expose the right level of control

    The beauty of hooks and components is how well they compose. You'll learn how to take full advantage of this by building abstractions on top of one another giving both flexibility and ease of use in a single package.

  3. 03.Invert control

    If you don't get your abstraction right, you'll be adding features to the end of your days. With the state reducer pattern, you'll eliminate a huge number of those requests. And with control props, you'll be able to ditch the rest of them and rest easy.

The topics we will be covering.

This is what we will talk about.

    01.
    Maintain referential equality with the latest ref pattern
    02.
    Use the Compound Components Pattern to write React components that implicitly share state while giving rendering flexibility to the user
    03.
    Handle common use cases for your hooks and components with the prop getter pattern
    04.
    Give simple control of state updates with a State Reducer
    05.
    Provide total logic control with the Controlled Props
Required experience

You should be experienced with useContext and useReducer (experience with useMemo and useCallback is a bonus).

Important Note

Depending on the questions asked during the workshop, or necessary changes in the material, the actual content of the workshop could differ from the above mentioned topics.

What to expect from a Kent C. Dodds workshop

My primary goal is retention. If you can't remember what I've taught you, then the whole experience was a waste of our time.

With that in mind, we'll follow the teaching strategy I've developed over years of teaching (learn more about my teaching strategy here).

The short version is, you'll spend the majority of time working through exercises that are specifically crafted to help you experiment with topics you may have never experienced before. I intentionally put you into the deep end and let you struggle a bit to prepare your brain for the instruction.

Based on both my personal experience and scientific research around how people learn, this is an incredibly efficient way to ensure you understand and remember what you're learning. This is just one of the strategies I employ to improve your retention. I think you'll love it!

I'm excited to be your guide as we learn together!

Don't just take my word for it.

What others have to say

Kent C. Dodds has a remarkable ability to dive deep into the core of React while maintaining crystal-clear explanations.

Rija Nifaliana profile

Rija Nifaliana

Senior Frontend Engineer

Most of my knowledge of React came from hands on experience at work, but there was so much to learn in Kent’s epicreact.dev! It was extremely impactful in my career. I find myself coming back to the materials many times to review and tune up my skills.

We were able to implement multiple of the patterns and concepts from the workshop, increasing test coverage, code quality, and overall user experience in multiple products.

Ricardo Busquet profile

Ricardo Busquet

Software Enginner @ Carta

Have a look at my other workshops.

Learn more in these workshops.