Define function overload types with TypeScript
A guide to implementing function overloads in TypeScript, using a practical example of a function that returns a Promise or void.
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.
194 articles from this blog
A guide to implementing function overloads in TypeScript, using a practical example of a function that returns a Promise or void.
A guide on adding TypeScript types to the fetch API, using a GraphQL Pokemon API example from EpicReact.dev workshops.
A technical guide on creating a TypeScript-wrapped React useState hook for implementing a dark mode feature in applications.
A personal review of 2020 covering pandemic reflections, social justice, and the author's professional work on EpicReact.dev and home office setup.
A developer's guide to convincing business stakeholders to approve technical investments like framework migrations and tech debt.
Kent C. Dodds explains why he is reducing his involvement in open source and direct support to focus on family and commitments.
A guide explaining the differences between React's useEffect and useLayoutEffect hooks and when to use each one.
A beginner's guide to setting up and deploying your first Firebase Cloud Function, covering initial project configuration and dependencies.
A beginner's guide to setting up and using Netlify Functions for serverless backend tasks, like handling a contact form.
A beginner-friendly introduction to CSS variables (custom properties), explaining their syntax and basic usage with simple code examples.
A developer shares their positive experiences with open source, from a first small contribution to learning, job opportunities, and community.
An open source developer explains why he deprecated his popular project in favor of a better alternative, advocating for progress over personal pride.
Explains the advanced React useState features: lazy initialization for expensive state and function updates for reliable state changes.
Explains why testing React component implementation details leads to unreliable tests and demonstrates better testing practices.
Essential JavaScript features like closures, template literals, and destructuring that are crucial for effective React development.
A critique of over-engineering state management in React, advocating for a simpler approach aligned with the component tree structure.
Explains why using && for conditional rendering in JSX can cause bugs and recommends using ternary operators instead for clarity.
A developer shares their preferred project structure and tooling for building medium-sized Express.js applications in Node.js.
Learn how to use the react-error-boundary library to handle runtime errors gracefully in React applications.
A guide on how to choose an open source project to contribute to, emphasizing projects you use regularly.