Kent C. Dodds News
Subscribe
RSS
Archive
Why every new web app at PayPal starts with TypeScript
January 7, 2019
What happened that made TypeScript viable for me and worth migrating paypal-scripts for. I've been using TypeScript for ~1 week now. Migrating from Flow....
2018 in Review
December 31, 2018
An overview of what I've accomplished in 2018 and a bit about my goals for 2019. Whether you've had a great 2018 or not, I think it's important to look back...
Light the World ✨
December 24, 2018
A special week calls for a special email. I'll be back with regular emails about JavaScript (and TypeScript) next week! As developers, we have unique and...
React Hooks: Array Destructuring Fundamentals
December 17, 2018
React's upcoming useState hook relies on array destructuring, let's dive in and see how that feature works. React Hooks are currently available in the alpha...
React Hooks: What's going to happen to my tests?
December 10, 2018
How can we prepare our tests for React's new hooks feature? One of the most common questions I hear about the upcoming React Hooks feature is regarding...
What's Going to Happen to React Context?
December 3, 2018
With the cool new stuff coming to React (Hooks/Suspense), what's going to happen to the context api? Earlier this year, the React team introduced the first...
React Hooks: What's going to happen to render props?
November 26, 2018
What am I going to do with all these render props components now that react hooks solve the code reuse problem better than render props ever did? About a...
How Gratitude can make you a better developer
November 20, 2018
What does gratitude have to do with software development? This week in the United States we celebrate Thanksgiving Day. In the US, the celebration was...
useEffect vs useLayoutEffect vs useMutationEffect
November 12, 2018
The simple rules for when to use each. Note: If the words "React Hooks" doesn't ring any bells for you, then stop for a moment and go here to read/watch...
What does "Testing Implementation Details" even mean?
November 5, 2018
Testing implementation details is a recipe for disaster. Why is that? And what does it even mean? NOTICE: If you missed the 40% off early bird sale on...
Last call for 40% off TestingJavaScript.com!
October 26, 2018
Hey there, The number one question I get asked about TestingJavaScript.com: I'm seeing an outdated version of the site! I don't see a "buy" button...
There's still time to purchase TestingJavaScript.com at 40% off!
October 25, 2018
Hello! I'm sorry if you've already purchased the course. We're still working on making it so I don't send these to people who have already purchased the...
What's holding you back? (and course updates 😇)
October 24, 2018
Hi friends 👋, I can't believe how positive the response from the corgi email was yesterday 😂 So I'll just stick another cute gif in here for good measure:...
Where will you be 6 months from now?
October 23, 2018
Hi there, In the world of web development, time moves really fast. It’s almost like dog years. It’s so easy to feel like you’re falling behind, or just...
How to avoid slow and brittle end-to-end tests
October 22, 2018
A common mistakes people make when writing E2E tests that lead to slow tests NOTE: TestingJavaScript.com is still in early bird stage, but it wont be 40% off...
React is an implementation detail (and course FAQ)
October 20, 2018
…yep, you read that right. Most of the course actually has nothing to do with React specifically. I’m so excited about the response to my new Testing...
Common Testing Mistakes
October 19, 2018
TODAY IS THE DAY AND I AM REALLY EXCITED CAN YOU TELL!? Tell your boss, tell your co-workers, tell your dog 🐶. Today’s the day you can snag...
UI Testing Myths
October 18, 2018
Some common myths around testing and what the reality is... Today is my birthday!!! I’m celebrating a few ways. First, I invited folks on Twitter to do two...
The Merits of Mocking
October 15, 2018
What are you doing when you mock something, and when is it worth the cost? The more your tests resemble the way your software is used, the more confidence...
The time I messed up
October 11, 2018
That time I went too far with Test Driven Development and forgot a very important step We all have stories where automated tests could’ve saved us from...
Why you've struggled with testing
October 8, 2018
Some common struggles people have with testing, and things you can do to improve. The argument is long ended: You should be testing your mission-critical...
Demystifying Testing
October 4, 2018
How to get from aimlessly testing or not testing at all to really understanding how and what to test. In the next few weeks, you’re going to get bonus emails...
Eliminate an entire category of bugs with a few simple tools
October 1, 2018
How you can use a few simple static code analysis tools to avoid common programming bugs. You’ve probably heard of ESLint, Prettier, and Flow/TypeScript....
Confidently Shipping Code
September 24, 2018
Why I care about testing Have you read the book "Start With Why"? If you haven't, I recommend it. At least watch the TED talk. The premise of the idea is...
React/JSX as a server-side templating language
September 17, 2018
Using React function components to render your website's skeleton index.html NOTE: I've been teasing about something big that I have coming. I'm totally not...
How I am so productive
September 10, 2018
People regularly ask me how I get so much done. Here's my secret... I get asked about this at least twice a week, so I thought I'd save myself some time by...
Getting Noticed and Widening Your Reach
September 4, 2018
Some things you can do to gain a wider audience and get your stuff noticed This last week I had three people complaining to me (in individual interactions)...
Make Impossible States Impossible
August 28, 2018
A simple trick to simplify your application and component state This is a phrase I first heard from David Khourshid in his talk at React Rally 2017...
How to make the most out of conferences
August 20, 2018
Some specific things you can do as a conference attendee I spent the last week at React Rally in Salt Lake City. It was an awesome experience. It's easily my...
Why and How I started public speaking
August 13, 2018
Some stories and some advice from an international speaker and trainer When I was still in school in the Information Systems program at BYU, I discovered and...
mdx-deck: slide decks powered by markdown and react
August 6, 2018
Why it's awesome, what it is, how it works, and how to use mdx-deck. Before we get started today, I want you to know that if you're going to React Rally or...
unpkg: An open source CDN for npm
July 30, 2018
Let's learn how unpkg the service and the open source project can improve performance for your company's apps. FYI: Before I get into the newsletter today I...
Polyfill as needed with polyfill-service
July 23, 2018
How to maximize the performance of loading polyfills for your application users. In last week's newsletter "What is a polyfill", I talked about a situation I...
What is a polyfill
July 16, 2018
A few weeks back I found a bug with IE where all the user saw was a blank white page. If you've been around for a while in the wonderful world of the client-...
Why I Never Use Shallow Rendering
July 9, 2018
Tests should help me be confident that my application is working and there are better ways to do that than shallow rendering. Before we get into today's...
When to break up a component into multiple components
July 2, 2018
At what point does it make sense to break a single component into multiple components? Advanced React Component Patterns Course in Portland next week! Hey...
What is JSX?
June 25, 2018
You may use it every day, but have you seen what happens after Babel transpiles it? I think a critical part of understanding how to use React effectively is...
Test Isolation with React
June 18, 2018
Why your tests should be completely isolated from one another and how to do that. Read to the end, I've got some cool things in the "things not to miss"...
JavaScript default parameters
June 11, 2018
Today I thought I'd take you through one of the examples from my es6 workshop. Consider the following code: function getCandy(kind, size, upperKind,...
Dealing with FOMO
June 4, 2018
What is "Fear Of Missing Out" and how to deal with this natural unhealthy tendency. 🚨 Announcements 🚨 Advanced React Online and Live! Join me in my online...
💯 UPDATED: Advanced React Component Patterns ⚛️
June 1, 2018
Now featuring the latest React APIs (like context) and entirely new patterns (like state reducer props). TL;DR My highly popular course has been updated...
When to use Control Props or State Reducers
May 28, 2018
You've probably used components or elements that implement the control props pattern. For example: <input value={this.state.inputValue}...
Write your own code transform for fun and profit
May 21, 2018
With babel-plugin-macros 🚨 DON'T MISS THE OPPORTUNITY TO WATCH 2 OF MY FRONTEND MASTERS COURSES ABSOLUTELY FREE FOR THE NEXT 3 DAYS 🚨 Learn more. ✨ Also, I'm...
✨ Free Frontend Masters Courses ⚛️ for a Week 🎉
May 18, 2018
Hey friends! I thought you all might be interested in knowing that Frontend Masters has made two of my recent courses absolutely free for a limited time (one...
React DevTools
May 14, 2018
This last week I had someone criticize using React component state because: there are no browser dev tools for inspecting [component state] Maybe this person...
Prop Drilling
May 8, 2018
[POLL]: Do you know what I'm talking about when I refer to "the prop drilling problem" in #ReactJS? Yep Maybe Nope 🐓 This twitter poll I started is still...
How I learn an Open Source Codebase
April 30, 2018
Does this look different? Whelp, I've graduated from the free tier of TinyLetter.com (limited to 5,000 subscribers) and moved to ButtonDown.email! A big...