#541 – January 25, 2026
10+ years of React and Next.js optimization knowledge into a repository optimized for AI agents and LLMs
React best practices
3 minutes by Shu Ding
Vercel have encapsulated 10+ years of React and Next.js optimization knowledge into react-best-practices, a structured repository optimized for AI agents and LLMs.
How to implement passkeys in Next.js
sponsored by Clerk
Passkeys replace passwords with cryptographic key pairs stored on user devices. This tutorial walks through a full Next.js WebAuthn implementation covering registration, authentication, and the security model that makes passkeys phishing-proof.
My React ecosystem stack in 2026
5 minutes by Felipe Gustavo
The React ecosystem remained mostly stable in 2025, with tools like Zustand, Tanstack Query, Tailwind, and Shadcn/ui continuing to dominate. React Server Components faced communication challenges and security issues that hurt their reputation. Next.js is seeing growing discontent, while Tanstack Router emerged as a strong alternative to React Router. The ecosystem is moving toward better animation tools and gradual adoption of React v19's new features.
Sharing data with Client Components
6 minutes by Next.js Recipes
Use promises to provide data from Server Components to the client tree, without blocking the rest of the page.
Using React transitions for low priority text editor updates
5 minutes by Shane Friedman
React ProseMirror is fast for text editing but can slow down when multiple components use the same editor state. The article shows how React's Transition APIs can solve this by making some updates non-blocking. The main editor stays responsive while preview components update with a slight delay. However, this approach introduces risks with stale data that developers must carefully avoid.
Avoiding TanStack form pitfalls
5 minutes by Matt Huggins
Matt discovered validation errors weren't displaying despite the validation running in Tanstack Forms. The issue was a type system gap where synchronous validators accept async functions without TypeScript errors. When using async validation with sync validator options like onSubmit, the form rerenders before validation completes, hiding error messages. The solution is using async validator variants like onSubmitAsync instead.
Tests are dead. Meticulous AI is here.
sponsored by Meticulous
Meticulous automatically creates and maintains an exhaustive e2e UI test suite that covers every corner of your application – with no developer intervention required whatsoever. Dropbox, Lattice, Bilt Rewards and hundreds of organisations rely on Meticulous for their frontend testing. It is built from the Chromium level up with a deterministic scheduling engine – making it the only testing tool that eliminates flakes.
And the most popular article from the last issue was: