React Newsletter #221

Khan Academy's transition to React Native, an argument for dropping Redux, and building your own Google Analytics from scratch


In case you missed it, last month we launched a brand new newsletter called Bytes.

The goal was to create a fun, lighthearted JavaScript newsletter that you actually look forward to reading. We write about the most interesting things happening in the JavaScript ecosystem every week and why you should care about them. It goes out every Monday to over 31,000 devs.

You can check out last week's issue about a supercharged JavaScript bundler, why frontend devs should check out Rust, and Google taking over the world with Flutter.


Will it render?

This is a visual aid by Kirill Vasiltsov to go along with the outstanding article on React's rendering behavior that we shared a couple weeks back. It includes some helpful drawings and live Codesandbox examples that will help cement the concepts Mark Erikson covered in the original article.

Our transition to React Native

Bryan Clark wrote about leading Khan Academy's transition to React Native on mobile, which first began all the way back in 2017. Bryan discusses the motivations for the change, the challenges the team faced, and how they overcame them.

Why I stopped using Redux

In this article, Gabriel writes about some of the drawbacks to using Redux and makes the case for using other libraries for storing backend state.


Building and open source web analytics platform with Cube.js and React

This tutorial starts with data collection and gradually walks you through building the whole application, including the frontend. By the end, you'll have built your own functioning version of Google Analytics.

How to detect a click outside in React and test it properly?

Although the implementation of capturing outside click is rather obvious and simple, testing might not be. This article covers three different React techniques on how to implement the feature and test it using Enzyme vs React Testing Library.

Create a React Teleprompter using the Web SpeechRecognition API

In this post Elijah builds a React Teleprompter using the Web Speech API. In particular, he uses the SpeechRecognition interface to build the app. The application recognizes the user's voice, matches the words to a predefined script, and then automatically scrolls to the next unspoken position using Element.scrollIntoView().

The React Testing Masterclass

Learn the best practices and strategies to effectively test your react components and applications.


Stems - isolate song tracks

Upload a song file to this React + TypeScript app and it will return each separate track (aka stem) in the song as separate files - vocals, instrumental, drums, bass, and more. A kind internet citizen uploaded this example output, so you can check it out before downloading the app yourself. Now you've got everything you need to become the next big SoundCloud rapper.

3D skateboard swipe

This well-designed swipe animation will make you wish you were playing Tony Hawk Pro Skater 2 on PlayStation right now. You're legally required to yell, "do a kickflip!" every time you swipe.


A motion graphics app that lets you combine music with images, animations, and effects to create your own custom music visualizations.


Build a React + TypeScript quiz app

This 80-minute tutorial from Thomas Weibenfalk walks you through building a standard quiz app, and will help you learn the basics of using TypeScript with React.

Building a Netflix clone in 3 hours

This livestream is a high-quality beginner tutorial for those who are still getting their feet wet with React.

made with ❤️ by