RSS.Social

Kent C. Dodds Blog

follow: @[email protected]

Posts

The next chapter: EpicAI.pro

AI is taking your job

How I increased my visibility

2023 in Review

Launching Epic Web

Stop Being a Junior

RSC with Dan Abramov and Joe Savona Live Stream

Fixing a Memory Leak in a Production Node.js App

2022 in Review

My Car Accident

I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS

I'm building EpicWeb.dev

A review of my time at Remix

Remix: The Yang to React's Yin

How I help you build better websites

Why I Love Remix

The State Initializer Pattern

How to React ⚛️

Get a catch block error message with TypeScript

Building an awesome image loading experience

How Remix makes CSS clashes predictable

Introducing the new kentcdodds.com

How I built a modern website in 2021

How to use React Context effectively

Static vs Unit vs Integration vs E2E Testing for Frontend Apps

The Testing Trophy and Testing Classifications

Array reduce vs chaining vs for loop

Don't Solve Problems, Eliminate Them

Super Simple Start to Remix

Super Simple Start to ESModules in Node.js

JavaScript Pass By Value Function Parameters

How to write a Constrained Identity Function (CIF) in TypeScript

How to optimize your context value

How to write a React Component in TypeScript

TypeScript Function Syntaxes

Listify a JavaScript Array

Build vs Buy: Component Libraries edition

Using fetch with TypeScript

Wrapping React.useState with TypeScript

Define function overload types with TypeScript

2020 in Review

Business and Engineering alignment

Hi, thanks for reaching out to me 👋

useEffect vs useLayoutEffect

Super simple start to Firebase functions

Super simple start to Netlify functions

Super Simple Start to css variables

Favor Progress Over Pride in Open Source

Testing Implementation Details

How getting into Open Source has been awesome for me

useState lazy initialization and function updates

Use ternaries rather than && in JSX

Application State Management with React

Use react-error-boundary to handle errors in React

JavaScript to Know for React

How I structure Express apps

What open source project should I contribute to?

When I follow TDD

AHA Programming 💡

How I Record Educational Videos

Should I write a test or fix a bug?

Stop mocking fetch

Intentional Career Building

Improve test error messages of your abstractions

Tracing user interactions with React

Eliminate an entire category of bugs with a few simple tools

Common mistakes with React Testing Library

Super Simple Start to React

Stop using client-side route redirects

The State Reducer Pattern with React Hooks

Function forms

Replace axios with a simple custom fetch wrapper

How to test custom React hooks

React Production Performance Monitoring

Should I useState or useReducer?

Stop using isLoading booleans

Make Your Test Fail

Make your own DevTools

An Argument for Automation

Fix the "not wrapped in act(...)" warning

Super Simple Start to ESModules in the Browser

Implementing a simple state machine library in JavaScript

2010s Decade in Review

Why users care about how you write code

Why I avoid nesting closures

Don't call a React function component

Why your team needs TestingJavaScript.com

Inversion of Control

Understanding React's key prop

How to Enable React Concurrent Mode

How to add testing to an existing project

Building the Open Source Community We Want

Making your UI tests resilient to change

Speed up your App with Web Workers

Don't Sync State. Derive It!

State Colocation will make your React app faster

Profile a React App for Performance

Fix the slow render before you fix the re-render

How to implement useState with useReducer

Write fewer, longer tests

How to get experience as a software engineer

5 Tips to Help You Avoid React Hooks Pitfalls

Avoid Nesting when you're Testing

When to break up a component into multiple components

Write tests. Not too many. Mostly integration.

React Fundamentals: Props vs State

How I Teach

One simple trick to optimize React re-renders

Colocation

When to useMemo and useCallback

Avoid the Test User

Authentication in React Applications

How to know what to test

AHA Testing 💡

How to get started with programming

How to Enable React Strict Mode

Goodbye Medium

React Hooks: Compound Components

🚨 Big Announcement: I'm a full-time educator! 👨‍🏫

Please stop building inaccessible forms (and how to fix them)

2018 in Review

React Hooks: Array Destructuring Fundamentals

React Hooks: What's going to happen to my tests?

React Hooks: What's going to happen to react context?

React Hooks: What's going to happen to render props?

How Gratitude can make you a better developer

Introducing a new course: Simplify React Apps with React Hooks and Suspense

Common Testing Mistakes

UI Testing Myths

The Merits of Mocking

The time I messed up

React is an implementation detail

Why you've been bad about testing

Demystifying Testing

Confidently Shipping Code

React/JSX as a server-side templating language

How I am so productive

Getting Noticed and Widening Your Reach

Make Impossible States Impossible

How to make the most out of conferences

Why and How I started public speaking

mdx-deck: slide decks powered by markdown and react

unpkg: An open source CDN for npm

Polyfill as needed with polyfill-service

What is a polyfill

Why I Never Use Shallow Rendering

What is JSX?

Test Isolation with React

JavaScript default parameters

Dealing with FOMO

🏎 downshift 2.0.0 released 🎉

When to use Control Props or State Reducers

Write your own code transform for fun and profit

💯 UPDATED: Advanced React Component Patterns ⚛️

React DevTools

Prop Drilling

How I learn an Open Source Codebase

Mixing Component Patterns

Pure Modules

Migrating to React's New Context API

Compose Render Props

Introducing the react-testing-library 🐐

When to NOT use Render Props

But really, what is a JavaScript mock?

Increase your marketability

Solidifying what you learn

The state reducer pattern ⚛️ 🏎

Answers to common questions about render props

React's ⚛️ new Context API

Concerning toolkits 🛠 📦

Spelunking in node_modules 👷

Building Production Apps 100% in the browser

Testing ⚛️ components using render props

But really, what is a JavaScript test?

Merry Christmas!

The Beginner's Guide to ReactJS

Giving good demos

Advanced React Component Patterns

Learn React Fundamentals 🆓 and Advanced Patterns ⚛️ 🎁

Becoming an Open Source Project Maintainer

Rendering a function with React

Improving the usability of your modules

Effective Snapshot Testing

Make maintainable workarounds with codegen 💥

How to give rendering control to users with prop getters

Tools without config 🛠📦

Introducing downshift 🏎 for React ⚛️

How writing custom Babel & ESLint plugins can increase productivity & improve user experience

Classes, Complexity, and Functional Programming

Introducing glamorous 💄

Tips for making a CLI-based tool with node

Migrating to Jest

🌆 Sunsetting JavaScript Air 🌆

Kent OOO (Out Of the Office)

Introducing: How to Contribute to Open Source

Misunderstanding ES6 Modules, Upgrading Babel, Tears, and a Solution

Semicolons in JavaScript: A preference

Please, don't commit commented out code

Open Source Stamina

Why I don't commit generated files to master

How to Write a JavaScript Library

First Timers Only

Newspaper Code Structure