Personal blog by Dan Abramov . I explain with words and code.

The WET Codebase July 13, 2020 • ☕️ 1 min read Come waste your time with me.

Goodbye, Clean Code January 11, 2020 • ☕️ 5 min read Let clean code guide you. Then let it go.

My Decade in Review January 1, 2020 • ☕️☕️☕️☕️☕️ 26 min read A personal reflection.

What Are the React Team Principles? December 25, 2019 • ☕️ 5 min read UI Before API.

On let vs const December 22, 2019 • ☕️ 3 min read So which one should I use?

What Is JavaScript Made Of? December 20, 2019 • ☕️☕️☕️ 13 min read Getting a closure on JavaScript.

How Does the Development Mode Work? August 4, 2019 • ☕️☕️ 10 min read Dead code elimination by convention.

Algebraic Effects for the Rest of Us July 21, 2019 • ☕️☕️☕️ 16 min read They’re not burritos.

Preparing for a Tech Talk, Part 3: Content July 10, 2019 • ☕️ 6 min read Turning an idea into a talk.

Name It, and They Will Come March 25, 2019 • ☕️ 4 min read A change starts with a story.

Writing Resilient Components March 16, 2019 • ☕️☕️☕️☕️☕️ 24 min read Four principles to set you on the right path.

A Complete Guide to useEffect March 9, 2019 • 🍱🍱🍱🍱 49 min read Effects are a part of your data flow.

How Are Function Components Different from Classes? March 3, 2019 • ☕️☕️☕️ 14 min read They’re a whole different Pokémon.

Coping with Feedback March 2, 2019 • ☕️ 3 min read Sometimes I can’t fall asleep.

Fix Like No One’s Watching February 15, 2019 • ☕️ 1 min read The other kind of technical debt.

Making setInterval Declarative with React Hooks February 4, 2019 • ☕️☕️☕️ 16 min read How I learned to stop worrying and love refs.

React as a UI Runtime February 2, 2019 • 🍱🍱🍱 37 min read An in-depth description of the React programming model.

Why Isn’t X a Hook? January 26, 2019 • ☕️☕️ 8 min read Just because we can, doesn’t mean we should.

The “Bug-O” Notation January 25, 2019 • ☕️ 6 min read What is the 🐞(n) of your API?

Preparing for a Tech Talk, Part 2: What, Why, and How January 7, 2019 • ☕️ 5 min read We need to go deeper.

The Elements of UI Engineering December 30, 2018 • ☕️☕️ 8 min read What makes UI engineering difficult?

Things I Don’t Know as of 2018 December 28, 2018 • ☕️ 5 min read We can admit our knowledge gaps without devaluing our expertise.

Preparing for a Tech Talk, Part 1: Motivation December 26, 2018 • ☕️ 5 min read Here’s my recipe for a good talk idea.

Why Do React Hooks Rely on Call Order? December 13, 2018 • ☕️☕️☕️☕️ 20 min read Lessons learned from mixins, render props, HOCs, and classes.

Optimized for Change December 12, 2018 • ☕️ 1 min read What makes a great API?

How Does setState Know What to Do? December 9, 2018 • ☕️☕️ 9 min read Dependency injection is nice if you don’t have to think about it.

My Wishlist for Hot Reloading December 8, 2018 • ☕️☕️ 12 min read I don't want a lot for Christmas. There is just one thing I need.

Why Do React Elements Have a $$typeof Property? December 3, 2018 • ☕️ 5 min read It has something to do with security.

How Does React Tell a Class from a Function? December 2, 2018 • ☕️☕️☕️ 16 min read We talk about classes, new, instanceof, prototype chains, and API design.