#500 – April 06, 2025
SPA, SSR, or RSC
React Architecture Tradeoffs: SPA, SSR, or RSC
9 minutes by Brad Westfall
In this article Brad discusses React Single Page Applications versus React frameworks with server-side rendering. He highlights the limitations of SPAs and advocates for frameworks like Next.js and React Router Framework that combine the benefits of both SPAs and server-side rendering. These frameworks handle lazy-loading, client-side navigation, and data management, eliminating the need for complex state management solutions while still allowing integration with non-JavaScript backends.
All-in-One Document Toolkit for React and Node.js
sponsored by ConvertAPI
Integrate powerful document processing into your React apps with ConvertAPI. Convert between 200+ file types, manipulate PDFs (merge, split, secure), extract data, and generate dynamic documents using a simple Node.js Package. Handle all your document needs reliably using a single ISO certified, GDPR & HIPAA-compliant service. No infrastructure needed—just plug and play. Try it free and integrate in minutes!
React.memo Demystified: When It Helps and When It Hurts
6 minutes by Christian Ekrem
In this post Christian examines how React's memoization tools work under the hood and when they should actually be used. It dispels common misconceptions, particularly that memoizing props automatically prevents child component re-renders, and highlights several pitfalls that can silently break memoization including prop spreading, handling JSX children, and nested memo components. Christian recommends using these tools only after profiling to identify actual performance bottlenecks, suggesting that component composition often presents a more elegant solution than extensive memoization.
Building Robust React Apps with Zustand and Immer
8 minutes by Giovanni Crisalfi
Giovanni discusses how he, initially averse to React and JavaScript, has come to appreciate them through libraries like Zustand and Immer. Zustand offers a minimalist state management solution that simplifies Redux's complexities, while Immer elegantly handles immutable state updates, especially for nested data structures. He demonstrates these tools' effectiveness with a canvas application example, showing how they handle both synchronous and asynchronous operations with clean, maintainable code.
3 ways to build forms in react (without any libraries)
3 minutes by Corina Udrescu
In this post Corina discusses three approaches to building forms in React without using third-party libraries: uncontrolled inputs using native browser features and FormData, controlled inputs with React state, and the new React 19 action attribute with useActionState. She prefers the uncontrolled inputs approach for simple forms due to its readability and use of native browser features, while noting that the React 19 approach shines for async server actions and SSR implementations.
Adaptive Video Streaming With Dash.js In React
10 minutes by Teng Wei Herr
Teng dives deep into how to move beyond the limitations of the standard HTML5 video element by implementing adaptive bitrate streaming. Unlike progressive downloading, adaptive bitrate streaming splits videos into multiple segments at different quality levels, automatically selecting the optimal resolution based on network conditions. He provides a comprehensive step-by-step guide using FFmpeg to transcode videos, generate the necessary manifest files, and implement a DASH-compatible video player in React, enabling smooth video playback even on slower connections or lower-end devices.
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: