React

96 articles ยท all categories

July 2026

swizec.com is now on TimberJS, a new React framework

swizec.com is 20 years old and has gone through many rewrites. Here's the latest

October 2025

React, HTMX, and TanStack/Start

More and more UI frameworks are ditching JSON as the transfer protocol and going back to server-rendered markup injected into your app

September 2025

You may be looking for a useSyncExternalStore

When you see a `useEffect` that updates a `useState` and returns a value, you might be looking for a `useSyncExternalStore`. This is my current vendetta.

January 2025

Server-side React that renders as png, pdf, or interactive webapp

What if your React code could render as a PNG, PDF, static HTML, or fully interactive webapp just by changing the URL? I got a working demo! ๐Ÿ˜

November 2024

The anatomy of a React Island

A coworker asked how React Islands work and I realized it's a technique I've been using to modernize monolithic web codebases for years, but never wrote down how it works.

August 2024

Tips from 8 months of TanStack/Router in production

On my last day at Tia I wrote a master vision doc for our TanStack Router app. Here are the parts I can share.

May 2024

Why useSuspenseQuery works

A reader asked 'Wtf why does this work?'

Cleaner components with useSuspenseQuery

Sick of complex states in your code? React Suspense can simplify your components for more readable, robust code!

January 2024

TanStack Router โ€“ modern React for the rest of us

TanStack Router puts the router in control of data, state, and UI and it's ... really good.

December 2023

People like me are why you shouldn't run a hosting company

A daring adventure of manipulating GET parameters in a NextJS 14 project, pushing hosting limits and avoiding the need for data storage. Dive into the chaos of compressing inputs to keep the project delightfully storage-free.

October 2023

A few thoughts on tRPC

Discover tRPC's potential in building end-to-end type safe RPC APIs in this insightful blog post. Perfect for developers seeking innovative solutions for server-client separation in webapp development.

July 2023

Update state during render, better explained

A few readers wrote in to say that the React Can Update State During Render email last week made no sense. Here's a better explanation.

June 2023

React can update state during render

An unexpected feature of React: updating state during render. It's a UX and performance optimization

January 2023

My biggest React App performance boost was a backend change

Performance lives in the unlikliest of places. Follow the metrics.

Async React with NextJS 13

We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.

November 2022

Reader question: useReducer or XState?

Following up from my article about XState and Stately.ai, fellow reader S. asked if `useReducer` could ever be relevant when using state machines in React code. Yes! Here's how

When your brain is breaking, try Stately.ai

Two years ago I wrote about using XState after building a UI interaction so twisted my brain leaked out my ears. It helped. Now the creators have made something even better โ€“ Stately.ai ๐Ÿ˜

September 2022

useCallback is a code smell

One of my favorite ways to simplify and de-gotcha React code is to rip out all the useCallback and useMemo drama. 90% of the time you don't need it.

May 2022

Learnings about the future of the web from Reactathon

The first in-person conference in years! It was wonderful ๐Ÿคฉ - Remix is great - Serverless at edge is the future - GDPR does not play with ๐Ÿ‘†

March 2022

Adding categories to a Gatsby blog (for better SEO)

One of my biggest frustrations since migrating swizec.com from Wordpress to Gatsby was that I never added categories. Always wanted to, never did. Thought it would be super hard. Gatsby made it painless

February 2022

A new VSCode extension makes state machines shine on a team

When you grok state machines, a new world of computational beauty and software design opens in front of your eyes. Things that used to be hard become easy. The impossible becomes possible. And you turn into that annoying team member.

January 2022

How to add Typeform as a Gatsby source

Every year I ask readers if they're enjoying my newsletter. Then fail to use those responses ๐Ÿ˜… This year I said heck it and built a /testimonials page that shows everyone's feedback raw from Typeform. Here's how.

November 2021

You can use React Query for slow computation, not just API

You can use the ergonomics of React Query for any slow operation and it's wonderful.

Why I'm excited about React 18 โ€“ talk

React 18 is coming soon. I hope ๐Ÿคž Here's a talk I gave exploring its implications and showing off demos with working code.

July 2021

React 18 and the future of async data

Friend, I have glimpsed the future and it is amazing. React 18 is shipping with Suspense and startTransition for deferred component rendering, but not data loading. That's coming in a future 18.x version.

June 2021

Hacking the React AST for fun and profit โ€“ #CodeWithSwiz ep34

This is hold my beer level of hackery. It didn't work but we learned lots in the process.

A better React 18 startTransition demo

Demoing startTransition is hard. Modern computers are too fast ๐Ÿ˜… โ€“ Dan Abramov, a React core team member, helped me fix it up. Here's what I learned

Trying out React 18 Alpha

I read everything about React 18 Alpha, trawled through the work group, and ran some experiments. Here's what you'll wanna know.

April 2021

2 quick tips for 250% better Lighthouse scores โ€“ CodeWithSwiz 28

Your site may be fast for users, but Google don't care. Official metrics or bust.

March 2021

Variants โ€“ a quick tip for better React components

Reusable components like to grow boolean props for different situations and complexity soon blows up. Variant props are the perfect solution.