This site runs best with JavaScript enabled.
Looking for something specific? Search for a blogpost here.

Building the Open Source Community We Want

I've been participating in the creation of open source software since 2012. My first pull request was to fix a typo I saw in a comment of the Java Playframework. It wasn't much, but being my first ever contribution, it was new, exciting, and even a little stressful. And on the same day a…

Read →

Making your UI tests resilient to change

You're a developer and you want to avoid shipping a broken login experience, so you're writing some tests to make sure you don't. Let's get a quick look at an example of such a form : Now, if we were to test this form, we'd want to fill in the username, password, and submit the form. To do that…

Read →

Speed up your App with Web Workers

I remember when I started learning about threads in Java. My college professor pulled up iTunes, hit play on a song and said: "if it weren't for threads, I wouldn't be able to click any of these buttons at the same time iTunes is playing this music." JavaScript is single-threaded. This means that…

Read →

Don't Sync State. Derive It!

In my Learn React Hooks workshop material, we have an exercise where we build a tic-tac-toe game using React's useState hook (based on the official React tutorial). Here's the finished version of that exercise: https://codesandbox.io/s/github/kentcdodds/learn-react-hooks/tree/master/?fontsize=1…

Read →

State Colocation will make your React app faster

One of the leading causes to slow React applications is global state, especially the rapidly changing variety. Allow me to illustrate my point with a super contrived example, then I'll give you a slightly more realistic example so you can determine how it can be more practically applicable in your…

Read →

Profile a React App for Performance

The React DevTools is an amazing piece of software and is available as a browser extension for Chrome , Firefox , and is capable of being wired up to work with React app's anywhere. One of the coolest features of the React DevTools is it's profiling capabilities. There's a lot to the profiler…

Read →

Fix the slow render before you fix the re-render

Performance is a serious issue and we should make our apps as fast as possible. How we go about doing that will make a big impact on not only the the effectiveness of our optimizations but also the complexity of our code (how quickly we can make improvements and changes in the future). When we're…

Read →