Dan Abramov

Articles & Tutorials

The Plan for React 18 (reactjs.org)
Jun 08, 2021
The React team is excited to share a few updates.
Before You memo() (overreacted.io)
Feb 23, 2021
In this post, I want to share two different techniques. They’re surprisingly basic, which is why people rarely realize they improve rendering performance.
Introducing Zero-Bundle-Size React Server Components (reactjs.org)
Dec 21, 2020
2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components.
React v17.0 (reactjs.org)
Oct 20, 2020
Today, we are releasing React 17! We’ve written at length about the role of the React 17 release and the changes it contains in the React 17 RC blog post.
React v17.0 Release Candidate: No New Features (reactjs.org)
Aug 10, 2020
Today, we are publishing the first Release Candidate for React 17. It has been two and a half years since the previous major release of React, which is a long time even by our standards! In this blog post, we will describe the role of this major release, what changes you can expect in it, and how you can try this release.
What Are the React Team Principles? (overreacted.io)
Dec 25, 2019
This is my personal attempt to formalize observations about how the React team operates — other team members may have different perspectives.
    React v16.9.0 and the Roadmap Update (reactjs.org)
    Aug 08, 2019
    Today we are releasing React 16.9. It contains several new features, bugfixes, and new deprecation warnings to help prepare for a future major release.
    Writing Resilient Components (overreacted.io)
    Mar 16, 2019
    There are important design principles that every component should strive to follow. But I don’t think style guides capture those principles well. We’ll talk about style guides first, and then look at the principles that really are useful.
    A Complete Guide to useEffect (overreacted.io)
    Mar 10, 2019
    You wrote a few components with Hooks. Maybe even a small app. You’re mostly satisfied. You’re comfortable with the API and picked up a few tricks along the way. You even made some custom Hooks to extract repetitive logic (300 lines gone!) and showed it off to your colleagues. “Great job”, they said.
    How Are Function Components Different from Classes? (overreacted.io)
    Mar 03, 2019
    How do React function components differ from React classes? For a while, the canonical answer has been that classes provide access to more features (like state). With Hooks, that’s not true anymore.
    React v16.8: The One With Hooks (reactjs.org)
    Feb 06, 2019
    With React 16.8, React Hooks are available in a stable release!
    Making setInterval Declarative with React Hooks (overreacted.io)
    Feb 04, 2019
    In this post, we’ll look at how to make intervals and Hooks play well together, why this solution makes sense, and which new capabilities it can give you.
    React as a UI Runtime (overreacted.io)
    Feb 02, 2019
    I’ve written about the challenges of creating user interfaces before. But this post talks about React in a different way — more as a programming runtime.
    Things I Don’t Know as of 2018 (overreacted.io)
    Dec 28, 2018
    We can admit our knowledge gaps without devaluing our expertise.
    React 16.x Roadmap (reactjs.org)
    Nov 27, 2018
    You might have heard about features like “Hooks”, “Suspense”, and “Concurrent Rendering” in the previous blog posts and talks. In this post, we’ll look at how they fit together and the expected timeline for their availability in a stable release of React.
    Create React App 2.0: Babel 7, Sass, and More (reactjs.org)
    Oct 01, 2018
    Create React App 2.0 has been released today, and it brings a year’s worth of improvements in a single dependency update.
    React v16.4.2: Server-side vulnerability fix (reactjs.org)
    Aug 01, 2018
    We discovered a minor vulnerability that might affect some apps using ReactDOMServer. We are releasing a patch version for every affected React minor release so that you can upgrade with no friction. Read on for more details.
    Behind the Scenes: Improving the Repository Infrastructure (reactjs.org)
    Dec 15, 2017
    As we worked on React 16, we revamped the folder structure and much of the build tooling in the React repository.
    DOM Attributes in React 16 (reactjs.org)
    Sep 08, 2017
    In the past, React used to ignore unknown DOM attributes. If you wrote JSX with an attribute that React doesn’t recognize, React would just skip it.
    Error Handling in React 16 (reactjs.org)
    Jul 26, 2017
    As React 16 release is getting closer, we would like to announce a few changes to how React handles JavaScript errors inside components. These changes are included in React 16 beta versions, and will be a part of React 16.
    What's New in Create React App (reactjs.org)
    May 18, 2017
    Less than a year ago, we introduced Create React App as an officially supported way to create apps with zero configuration. The project has since enjoyed tremendous growth, with over 950 commits by more than 250 contributors.
    React v15.4.0 (reactjs.org)
    Nov 16, 2016
    Today we are releasing React 15.4.0.
    You Might Not Need Redux (medium.com)
    Sep 19, 2016
    People often choose Redux before they need it. “What if our app doesn’t scale without it?”


    react-hot-loader (gaearon.github.io)10246
    Aug 12, 2019
    Tweak React components in real time
    react (reactjs.org)124660
    Aug 09, 2019
    The react package contains only the functionality necessary to define React components
    react-dnd (react-dnd.github.io)10696
    Aug 06, 2019
    Drag and Drop for React
    redux (redux.js.org)47488
    Jul 11, 2019
    Predictable state container for JavaScript apps.
    react-redux (react-redux.js.org)15716
    Jun 11, 2019
    Official React bindings for Redux
    prop-types (github.com)2706
    Feb 14, 2019
    Runtime type checking for React props and similar objects
    redux-devtools (github.com)10618
    Dec 22, 2018
    DevTools for Redux with hot reloading, action replay, and customizable UI.
    redux-thunk (github.com)11651
    May 29, 2018
    Thunk middleware for Redux.
    react-side-effect (github.com)973
    Feb 23, 2018
    Create components whose nested prop changes map to a global side effect.

      Podcast Episodes

      Realigning Your Model of React After Hooks (kentcdodds.com)
      Aug 08, 2019
      Dan Abramov discusses how the addition of hooks changed how we write React.
      Facebook React with Dan Abramov (softwareengineeringdaily.com)
      May 16, 2019
      After seeing the initial traction, Facebook invested heavily into React, creating entire teams within the company whose goal was to improve React. Dan Abramov works on the React team at Facebook and joins the show to talk about how the React project is managed and his vision for the project.
      React Today and Tomorrow with the React Core Team (reactpodcast.com)
      Oct 31, 2018
      The React core team sits down with Michael Jackson to discuss React today and tomorrow. They talk Concurrent Mode, Suspense, Hooks, the new profiler tab, scheduling in the browser, React Fire, React Fusion, becoming more framework-y, appearing less JavaScript-y, and why you shouldn’t worry about the second argument of useEffect.
      Dan Abramov, co-author of Redux (egghead.io)
      Dec 22, 2017
      Joel Hooks co-founder of egghead.io, interviews Dan Abramov, co-author of Redux. They discuss the "Redux phenomenon" and the notion of improving the developer experience.

      Video Guides & Talks

      React Fiber Deep Dive with Dan Abramov (youtube.com)
      Jun 26, 2019
      In this deep dive you'll learn how to contribute to React Fiber, and implement a new rendering mode for React.
      Beyond React 16 - JSConf Iceland 2018 (youtube.com)
      Apr 05, 2018
      In this talk, Dan will share the React team’s vision for what the future of React might look like, including some never before seen prototypes.
      React events in depth w/ Kent C. Dodds, Ben Alpert, & Dan Abramov (youtube.com)
      Sep 01, 2016
      Based on a recent pull request in the React repo (https://github.com/facebook/react/pull/7616) it was suggested that we chat about how events in React work. Ben and Dan were eager to have this conversation with me :)
      The Redux Journey (youtube.com)
      Jun 04, 2016
      In this talk, Dan reflects on the past, present, and future of Redux.

      Courses & Video Series

      Building React Applications with Idiomatic Redux (egghead.io)
      Jun 02, 2016
      Even if you have already spent time studying Redux, this course will show you better practices straight from the library's creator Dan Abramov.
      Getting Started with Redux (egghead.io)
      Nov 23, 2015
      In this series, we will learn the basics of Redux, so that you can start using it to simplify your applications.