Write your own code transform for fun and profit
A guide to writing custom Babel macros for zero-config code transformation, using a fun example to get started.
KentCDodds.com is the personal website and blog of Kent C. Dodds, a software engineer, educator, and open-source contributor known for his work in the React ecosystem. He writes about modern web development, testing, accessibility, performance, and developer experience, focusing on how to build reliable, maintainable, and scalable applications. Kent is the creator of popular libraries such as Testing Library and Remix, and his articles often highlight practical approaches to writing better React components, handling state, and improving user experience. Beyond tutorials, the site features courses, workshops, podcasts, and conference talks, all aimed at helping developers learn by doing. With his teaching-first philosophy and clear explanations, KentCDodds.com has become one of the most trusted learning resources in the React and JavaScript community.
189 articles from this blog
A guide to writing custom Babel macros for zero-config code transformation, using a fun example to get started.
A guide comparing the Control Props and State Reducers patterns in React, explaining their use cases and differences.
A guide to using the React DevTools browser extension for inspecting and debugging React component state.
A guide to combining multiple advanced React patterns like Render Props, Compound Components, and HOCs into a single component.
A developer shares practical steps for learning and contributing to an open source codebase, from reading guidelines to debugging.
Explains React prop drilling, its problems, and solutions for avoiding it in component trees.
A guide on migrating React components from the old Context API to the new official one, using a Toggle component as an example.
Introducing react-testing-library, a lightweight React testing utility that encourages testing components like a user would.
Explores the power of React's render prop pattern for building composable, flexible components, using Downshift as a key example.
The article argues for writing pure JavaScript modules that export functions to improve performance, debuggability, and tree-shaking.
The author explains how teaching others solidifies your own learning and outlines their personal learning process.
A developer shares three actionable ideas to help software engineers increase their marketability and stand out in the job market.
An explanation of JavaScript mocking using a thumb war game example to test a non-deterministic function.
A historical React article explaining when to avoid the render props pattern, advocating for custom hooks as a superior alternative.
Answers common React render props questions on performance and code organization, with examples from community feedback.
Explains the state reducer pattern in React for flexible UI library state management, using downshift as an example.
Explores React's 'new' Context API, its evolution with hooks, and why it's a stable solution for state management.
The author argues for the use of 'toolkits' (zero-config tools) in software development, explaining their benefits and providing an analogy.
A developer shares how he built two production-ready web apps entirely in the browser using CodeSandbox and deployed them with Netlify.
A developer troubleshoots a tricky JavaScript testing error after updating dependencies like React and Jest, despite mocked console methods.