16-10-2023 Nadia Makarevich
Looking into what React Concurrent Rendering is, what hooks like useTransition and useDeferredValue do, what are the benefits and downsides of using them.
14-08-2023 Nadia Makarevich
21-06-2023 Nadia Makarevich
How 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 work
11-05-2023 Nadia Makarevich
Looking 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.
20-04-2023 Nadia Makarevich
How 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 here
28-03-2023 Nadia Makarevich
Looking 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.
14-02-2023 Nadia Makarevich
Looking 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 ErrorBoundary
05-01-2023 Nadia Makarevich
Deep 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.
09-11-2022 Nadia Makarevich
Deep 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.
06-10-2022 Nadia Makarevich
Deep 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.
07-09-2022 Nadia Makarevich
Looking 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 behavior
02-08-2022 Nadia Makarevich
React 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.
04-07-2022 Nadia Makarevich
Looking into what is React Element, exploring various children vs parents relationship in React, and how they affect re-renders
13-06-2022 Nadia Makarevich
What 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.
23-05-2022 Nadia Makarevich
How to organize React projects in a way that is scalable, structured, modular, consistent and logical.
09-05-2022 Nadia Makarevich
Looking 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 sometimes
12-04-2022 Nadia Makarevich
What 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?
21-03-2022 Nadia Makarevich
Looking 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.
27-02-2022 Nadia Makarevich
What 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?
15-02-2022 Nadia Makarevich
Exploring how to pass React components as props, why we would want to do it, and what is the best pattern for the job
07-02-2022 Nadia Makarevich
De-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.
24-01-2022 Nadia Makarevich
Exploring performance implications of custom React hooks and how not to shoot yourself in the foot when writing or using them.
09-01-2022 Nadia Makarevich
Looking into patterns that lead to poor performance of React apps, why they are bad, and how to recognise and avoid them.
30-12-2021 Nadia Makarevich
Exploring how to discriminate unions properly and how this pattern can be useful for React developers' everyday professional life.
20-12-2021 Nadia Makarevich
Learning while coding what is the purpose of exhaustiveness checking, how the narrowing of types works and when typescript enums could be useful.
08-12-2021 Nadia Makarevich
Diving into advanced typescript concepts and understanding how and why we need things like type guards, keyof, typeof, is, as const and indexed types.