About the React Handbook

👋 Hey there

My name is Eric, and I created the initial version of the React Handbook.

The goal for this website is to cover the very nuanced details of working with React in production environments.

We believe this guide to opinionated React practices is necessary because the core React team can't and shouldn't focus too much of their time trying to cover the ecosystem in the docs (especially without showing favoritism).

What you might call this guide

  • An opinionated guide to advanced React patterns and practices
  • Some of the "gaps" in the official React docs that other writers can explain well

Looking for Help

If you're interested, you can help us by:

  1. Validation that the topics covered and the recommended approaches generally are agreed upon as best practices by the community.
    This is specifically helpful if you are an expert/experienced in a particular facet of development (styling/CSS as an example) - we are not looking for people to read in detail the entire website, but more like skip to the spots where YOU have expertise and explain what you would change (if anything)
  2. Provide feedback for sections that are confusing, over-explained, or still not clear by the end of an article.
    This is helpful from the exact opposite lens as point #1 above - if you are an expert in different facets of development than what is covered, but you really need to understand something you haven't ever dove into (testing or state-management for example) it's very helpful to get feedback when you still did not understand a topic very well after going through our material
  3. Help out with small or large issues encountered in the maintenance of this website.
    While we don't expect anyone to clean up the dirty work, we do keep track of smaller "tasks" or things that need to get done that might not require a seasoned/expert opinion and are just generally related more to site maintenance. If you're looking for more of those green squares in your GH profile but can't find things to work on, help with these tasks would be greatly appreciated. Some examples might be things like typos/spell-checks or text formatting, while others might be more interesting such as large component refactors (more realistic to professional React development).

Core Team
Special thanks to:
  • Josh Claunch - someone we repeatedly go to for feedback/advice on things I'm writing, and for having very advanced knowledge of state management in React applications
  • Anthony Conklin - someone else we can always rely on for fresh feedback
  • Theo-Flux for being the first person to contribute to the project besides myself, giving us hope that we're working on something worthwhile
  • Tono Nogueras for significant contributions to the React Native guide

Join 10+ other contributors, and help us maintain the website as an example of what a solid Next.js application codebase can look like.

You'll notice there's not much in-depth original content on this website. We mostly write a summary of a feature/library and then link off-site to the documentation for you to go and learn that technology in detail.

TLDR: We like pointing people in the right direction.

Who are you and why should I trust that you know anything about React?Honestly, there's no official answer we can give to this. None of us are on the React core team, and don't have any special certifications around React development or anything like that. We're just developers who have worked with web technologies for many years.
Why would I read this instead of the React documentation?We definitely recommend starting with the Official React Documentation before coming here, as it helps to learn to "think in React" before you set off to build an app. If you've never built a web app before there are some starting points we can recommend, but this guide might be a little too advanced for you.
What is the goal of this guide?Essentially, to be the go-to bookmark (2nd to the docs, maybe) for engineers building React applications. To create a community around the concept of scalable, maintainable React code and how to achieve it (AKA "Best Practices", if those even exist).
What was the initial need for this guide?I Eric Diviney (the original author) worked at a consulting company where we built enterprise web apps and digital products for very large companies (brands like John Deere, Toyota, Pizza Hut, TopGolf - very recognizable American brands). Not all engineers were required to know React - but the nature of enterprise consulting meant there were always projects we needed to staff, and therefore we always had engineers learning or coming back to React at different times. There was no formal learning path for anyone to follow provided by the firm. I made the first version of this guide as a reference to bring as many people as possible up to speed with modern web development practices.