Feb 4, 2026·27 min read·Nadia MakarevichDebugging with AI: Can It Replace an Experienced Developer?Can AI actually debug complex React/Next.js issues? I tested it on three real bugs, investigated the root cause myself and wrote down the results.AIReact
Jan 13, 2026·13 min read·Nadia MakarevichCan You Fetch Data with React Server Actions?Can React Server Actions replace fetch for client-side data fetching? Let's investigate and find out.ReactWeb Performance
Dec 4, 2025·34 min read·Nadia MakarevichBundle Size Investigation: A Step-by-Step Guide to Shrinking Your JavaScriptA practical guide to analyzing and reducing JavaScript bundle size. Learn bundle analysis, fix tree-shaking issues, remove duplicate libraries, and otherwise optimize your React app's JavaScript size.ReactWeb Performance
Oct 21, 2025·42 min read·Nadia MakarevichReact Server Components: Do They Really Improve Performance?A data-driven comparison of CSR, SSR, and RSC under the same app and test setup, focusing on initial-load performance and the impact of client- vs server-side data fetching (including Streaming + Suspense).ReactWeb Performance
Sep 25, 2025·27 min read·Nadia MakarevichReact State Management in 2025: What You Actually NeedLearn how to manage state in modern React apps, what is remote, URL, local, and shared state, and when you actually need a state management library.React
Aug 19, 2025·20 min read·Nadia MakarevichCan We Use Local Storage Instead of Context-Redux-Zustand?Why do we need Context/Redux/Zustand in React, what is the purpose of Local Storage, its limitations, and when to use it.React
Mar 17, 2025·36 min read·Nadia MakarevichSSR Deep Dive for React DevelopersExplore step-by-step how Server-Side Rendering (SSR), pre-rendering, hydration, and Static Site Generation (SSG) work in React, their costs, performance impact, benefits, and trade-offs.ReactWeb Performance
Feb 18, 2025·14 min read·Nadia MakarevichClient-Side Rendering in Flame GraphsIntro to Performance Flame Graphs. Learn how to read and extract useful info from performance flame graphs while exploring how the Client-Side rendering works in React applications.ReactWeb Performance
Dec 4, 2024·21 min read·Nadia MakarevichHow React Compiler Performs on Real CodeExploring the impact of React Compiler on initial load and interaction performance. With numbers. Measured on a real app.ReactWeb Performance
Nov 25, 2024·23 min read·Nadia MakarevichExistential React questions and a perfect Modal DialogMy step-by-step process for implementing a new feature from an idea to a production-ready solution using Modal Dialog as an example.React
Oct 1, 2024·16 min read·Nadia MakarevichIntro to CSS animations for React developersInvestigating CSS animations in React by building some useful components like slide-in drawers, expandable search field, and fancy hover effects.React
Sep 9, 2024·11 min read·Nadia MakarevichReplacing React code with CSS :has selectorLooking into what the new CSS :has selector is and how it can be used to improve our React code. Includes practical and beautiful examples.React
Jun 5, 2024·21 min read·Nadia MakarevichI tried React Compiler today, and guess what... 😉Investigating whether we can forget about memoization in React, now that the React Compiler is open-sourced.ReactWeb Performance
Mar 11, 2024·9 min read·Nadia MakarevichReact Compiler & React 19 - forget about memoization soon?Did you know that React Compiler is not actually React 19? But when can we expect it then and forget about memo in React? And what exactly will change when the Compiler is released?React
Oct 16, 2023·14 min read·Nadia MakarevichReact useTransition: performance game changer or...?Looking into what React Concurrent Rendering is, what hooks like useTransition and useDeferredValue do, what are the benefits and downsides of using them.ReactWeb Performance
Aug 14, 2023·21 min read·Nadia MakarevichFantastic closures and how to find them in ReactDeep dive into closures in JavaScript and React: how they appear, why we need them, what stale closures are, and how to prevent and fix them in ReactReactWeb Performance
Jun 21, 2023·19 min read·Nadia MakarevichTeleportation in React: Positioning, Stacking Context, and PortalsHow CSS positioning works, what is Stacking Context, how to escape overflow:hidden with CSS, why we can't do everything with CSS and need Portals, how Portals workReact
May 11, 2023·25 min read·Nadia MakarevichReact reconciliation: how it works and why should we careLooking in detail into how React reconciliation algorithm works. Explore in the process quirks of conditional rendering, the 'key' attribute, and why we shouldn't declare components inside other components.ReactWeb Performance
Apr 20, 2023·19 min read·Nadia MakarevichSay no to "flickering" UI: useLayoutEffect, painting and browsers storyHow to change elements base on DOM measurements: what is the problem with useEffect, how useLayoutEffect fixes it, what is browser painting, and how SSR plays a role hereReactWeb Performance
Mar 28, 2023·16 min read·Nadia MakarevichRefs in React: from access to DOM to imperative APILooking into why we need access to DOM in React, how Refs can help with that, what are useRef, forwardRef and useImperativeHandle hooks, and how to use them properly.React
Feb 14, 2023·16 min read·Nadia MakarevichHow to handle errors in React: full guideLooking into how to catch and handle errors in React: usages, patterns and caveats of try/catch and ErrorBoundary, what's possible, what's not, and how to catch async errors with ErrorBoundaryReact
Jan 5, 2023·18 min read·Nadia MakarevichHow to debounce and throttle in React without losing your mindDeep dive into debounce and throttle in React. What is debounce and throttle, how to use them in React properly, how to avoid breaking them when state and re-renders are involved.ReactWeb Performance
Nov 9, 2022·16 min read·Nadia MakarevichFetching data in React: the case of lost PromisesDeep dive into Promises and data fetching in React: what is a Promise, how and why Promises can cause race conditions and what to do about it.React
Oct 6, 2022·26 min read·Nadia MakarevichHow to fetch data in React with performance in mindDeep dive into data fetching in React. What is performance, fundamental libraries-agnostic patterns and techniques, how react lifecycle and browser limitations affect data fetching and apps rendering time and order.ReactWeb Performance
Sep 7, 2022·18 min read·Nadia MakarevichPureComponents vs Functional Components with hooksLooking into PureComponent and the problem it solved, how it can be replaced now in the hooks & functional components world, and discovering an interesting quirk of React re-renders behaviorReactWeb Performance
Aug 2, 2022·13 min read·Nadia MakarevichReact re-renders guide: everything, all at onceReact re-renders "cheatsheet". Short descriptions with visual aid and code examples of: what re-renders are, what triggers them, most important re-renders related patterns and antipatterns to remember.ReactWeb Performance
Jul 4, 2022·13 min read·Nadia MakarevichThe mystery of React Element, children, parents and re-rendersLooking into what is React Element, exploring various children vs parents relationship in React, and how they affect re-rendersReactWeb Performance
Jun 13, 2022·15 min read·Nadia MakarevichHow to useMemo and useCallback: you can remove most of themWhat is the purpose of useMemo and useCallback hooks, mistakes and best practices in using them, and why removing most of them might be a good idea.ReactWeb Performance
May 23, 2022·24 min read·Nadia MakarevichReact project structure for scale: decomposition, layers and hierarchyHow to organize React projects in a way that is scalable, structured, modular, consistent and logical.React
May 9, 2022·12 min read·Nadia MakarevichReact key attribute: best practices for performant listsLooking into how React "key" attribute works, how to use it correctly, how to improve performance of lists with it, and why array index as key is a good idea sometimesReactWeb Performance
Apr 12, 2022·18 min read·Nadia MakarevichReact components composition: how to get it rightWhat is components composition? How do you know when to start splitting a big component into smaller pieces and how to compose them properly? What makes a good component?React
Mar 21, 2022·11 min read·Nadia MakarevichImplementing advanced usePrevious hook with React useRefLooking into how refs work when not attached to DOM and how to use them to implement advanced usePrevious hook to get the previous state or props value.React
Feb 27, 2022·17 min read·Nadia MakarevichHigher-Order Components in React Hooks eraWhat is a React higher-order component? How it can be used and why? And do we still need them in modern apps in React hooks era?React
Feb 15, 2022·16 min read·Nadia MakarevichReact component as prop: the right way™️Exploring how to pass React components as props, why we would want to do it, and what is the best pattern for the jobReact
Feb 7, 2022·18 min read·Nadia MakarevichHow to write performant React apps with ContextDe-mystifying Context and its influence on React apps' performance. Learning a few useful patterns in the process, that could help minimize the re-renders impact and improve code's readability and scalability.ReactWeb Performance
Jan 24, 2022·13 min read·Nadia MakarevichWhy custom react hooks could destroy your app performanceExploring performance implications of custom React hooks and how not to shoot yourself in the foot when writing or using them.ReactWeb Performance
Jan 9, 2022·22 min read·Nadia MakarevichHow to write performant React code: rules, patterns, do's and don'tsLooking into patterns that lead to poor performance of React apps, why they are bad, and how to recognise and avoid them.ReactWeb Performance
Dec 30, 2021·12 min read·Nadia MakarevichAdvanced typescript for React developers - discriminated unionsExploring how to discriminate unions properly and how this pattern can be useful for React developers' everyday professional life.ReactTooling
Dec 20, 2021·9 min read·Nadia MakarevichAdvanced typescript for React developers - part 3Learning while coding what is the purpose of exhaustiveness checking, how the narrowing of types works and when typescript enums could be useful.ReactTooling
Dec 8, 2021·15 min read·Nadia MakarevichAdvanced typescript for React developersDiving into advanced typescript concepts and understanding how and why we need things like type guards, keyof, typeof, is, as const and indexed types.ReactTooling
Nov 25, 2021·9 min read·Nadia MakarevichTypescript generics for React developersLooking into why we need generics in Typescript, and how to use them to develop re-usable React components. And as a bonus: the secret of React hooks 😉ReactTooling