<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/static/styles.xsl" type="text/xsl"?><rss version="2.0"><channel><title>JSer.dev</title><description>Personal homepage of JSer, and his blogs.</description><link>https://jser.dev/</link><item><title>Try out React 19 in ESM without build tools</title><link>https://jser.dev/2024-07-01-esm-react/</link><guid isPermaLink="true">https://jser.dev/2024-07-01-esm-react/</guid><description>React stops shipping UMD builds since 19, here is how we can try it out.</description><pubDate>Mon, 01 Jul 2024 09:21:10 GMT</pubDate></item><item><title>React Internals Explorer - easily see how React works</title><link>https://jser.dev/2024-05-11-introducing-rie/</link><guid isPermaLink="true">https://jser.dev/2024-05-11-introducing-rie/</guid><description>React Internals Explorer is a visualization tool to help you understand React internals easily.</description><pubDate>Mon, 17 Jun 2024 09:21:10 GMT</pubDate></item><item><title>Deeper Dive Into React - React course by JSer</title><link>https://jser.dev/2024-05-11-introducing-ddir/</link><guid isPermaLink="true">https://jser.dev/2024-05-11-introducing-ddir/</guid><description>A course to fill gap between knowing how to work with React and knowing how React works.</description><pubDate>Sat, 11 May 2024 09:21:10 GMT</pubDate></item><item><title>Deeper Dive Chrome Extension - Enhance React.dev </title><link>https://jser.dev/2024-03-27-introducing-deeper-dev/</link><guid isPermaLink="true">https://jser.dev/2024-03-27-introducing-deeper-dev/</guid><description>Deeper Dive Chrome Extension enhances react.dev with links to advanced topics</description><pubDate>Wed, 27 Mar 2024 09:21:10 GMT</pubDate></item><item><title>How does useOptimistic() work internally in React?</title><link>https://jser.dev/2024-03-20-how-does-useoptimisticwork-internally-in-react/</link><guid isPermaLink="true">https://jser.dev/2024-03-20-how-does-useoptimisticwork-internally-in-react/</guid><description>useOptimistic() helps build optimistic UI to improved perceived performance.</description><pubDate>Wed, 20 Mar 2024 09:21:10 GMT</pubDate></item><item><title>How does use() work internally in React?</title><link>https://jser.dev/2024-03-16-how-does-use-work-internally-in-react/</link><guid isPermaLink="true">https://jser.dev/2024-03-16-how-does-use-work-internally-in-react/</guid><description>use() is an easy way to use Promise or context as resources.</description><pubDate>Sat, 16 Mar 2024 09:21:10 GMT</pubDate></item><item><title>Babel macro:`runCodeForEnvVar()` - run code conditionally on env var.</title><link>https://jser.dev/2023-12-14-runforenvvar-macro/</link><guid isPermaLink="true">https://jser.dev/2023-12-14-runforenvvar-macro/</guid><description>Use a babel macro to run code conditionally based on env var</description><pubDate>Wed, 03 Jan 2024 01:00:10 GMT</pubDate></item><item><title>The Internals of Styled Components</title><link>https://jser.dev/2023-10-09-styled-components/</link><guid isPermaLink="true">https://jser.dev/2023-10-09-styled-components/</guid><description>Let&apos;s see how Styled Components work internally.</description><pubDate>Sun, 15 Oct 2023 11:21:10 GMT</pubDate></item><item><title>Migrate TypeScript Code Progressively</title><link>https://jser.dev/2023-09-24-progressive-ts-migration/</link><guid isPermaLink="true">https://jser.dev/2023-09-24-progressive-ts-migration/</guid><description>Migrate TypeScript Code Progressively</description><pubDate>Sun, 24 Sep 2023 11:21:10 GMT</pubDate></item><item><title>How UnoCSS works internally with Vite?</title><link>https://jser.dev/2023-09-17-how-unocss-works-with-vite/</link><guid isPermaLink="true">https://jser.dev/2023-09-17-how-unocss-works-with-vite/</guid><description>Explains how UnoCSS works under the hood, with example usage in Vite.</description><pubDate>Sun, 17 Sep 2023 11:21:10 GMT</pubDate></item><item><title>A real example of concurrent mode in Shaku - switch to `useDeferredValue()` instead of throttling or debouncing.</title><link>https://jser.dev/shorts/2023-08-15-userdeferredvalue/</link><guid isPermaLink="true">https://jser.dev/shorts/2023-08-15-userdeferredvalue/</guid><description>Either throttling or debouncing leads to fixed lag which is bad UX, it is better improve this with `useDeferredValue()` in React Concurrent Mode.</description><pubDate>Tue, 15 Aug 2023 09:21:10 GMT</pubDate></item><item><title>Spread operator in TypeScript is not sound!!</title><link>https://jser.dev/shorts/2023-09-23-spread-not-sound/</link><guid isPermaLink="true">https://jser.dev/shorts/2023-09-23-spread-not-sound/</guid><description>Need to be careful when using spread operator.</description><pubDate>Tue, 15 Aug 2023 09:21:10 GMT</pubDate></item><item><title>Introducing Shaku Snippet - generate code screenshot with annotation</title><link>https://jser.dev/2023-08-09-introducing-shaku-snippet/</link><guid isPermaLink="true">https://jser.dev/2023-08-09-introducing-shaku-snippet/</guid><description>Shaku Snippet makes it super easy to generate code snippet screenshots with support of Shaku code annotation</description><pubDate>Wed, 09 Aug 2023 11:21:10 GMT</pubDate></item><item><title>When do useEffect() callbacks get run? Before paint or after paint?</title><link>https://jser.dev/2023-08-09-effects-run-paint/</link><guid isPermaLink="true">https://jser.dev/2023-08-09-effects-run-paint/</guid><description>Most of time useEffect() callbacks are run after paint but sometimes before paint.</description><pubDate>Wed, 09 Aug 2023 09:21:10 GMT</pubDate></item><item><title>How useSyncExternalStore() works internally in React?</title><link>https://jser.dev/2023-08-02-usesyncexternalstore/</link><guid isPermaLink="true">https://jser.dev/2023-08-02-usesyncexternalstore/</guid><description>useSyncExternalStore() is a React Hook that allows us to subscribe to an external store and do it safely without tearing.</description><pubDate>Wed, 02 Aug 2023 09:21:10 GMT</pubDate></item><item><title>How forwardRef() works internally in React?</title><link>https://jser.dev/2023-07-28-how-forwardref-works-internally/</link><guid isPermaLink="true">https://jser.dev/2023-07-28-how-forwardref-works-internally/</guid><description>forwardRef() allows us to create a component that can extract ref from props.</description><pubDate>Fri, 28 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How lazy() works internally in React?</title><link>https://jser.dev/2023-07-25-how-lazy-works-internally/</link><guid isPermaLink="true">https://jser.dev/2023-07-25-how-lazy-works-internally/</guid><description>Built-in `lazy()` is an easy way to lazy-load component at rendering, it suspends if loading is not completed.</description><pubDate>Tue, 25 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does React re-render internally?</title><link>https://jser.dev/2023-07-18-how-react-rerenders/</link><guid isPermaLink="true">https://jser.dev/2023-07-18-how-react-rerenders/</guid><description>If updates are triggered after mount, React re-renders with minimum DOM updates after diffing 2 versions of Fiber Tree.</description><pubDate>Tue, 18 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does React do the initial mount internally?</title><link>https://jser.dev/2023-07-14-initial-mount/</link><guid isPermaLink="true">https://jser.dev/2023-07-14-initial-mount/</guid><description>Initial mount is the first render for a React app, it creates the internal Fiber Tree and also the DOM tree.</description><pubDate>Fri, 14 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does React work under the hood ? The Overview of React internals</title><link>https://jser.dev/2023-07-11-overall-of-react-internals/</link><guid isPermaLink="true">https://jser.dev/2023-07-11-overall-of-react-internals/</guid><description>I&apos;m going to give you a rough overview of React internals and also some tips on how to learn React internals</description><pubDate>Tue, 11 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does useEffect() work internally in React?</title><link>https://jser.dev/2023-07-08-how-does-useeffect-work/</link><guid isPermaLink="true">https://jser.dev/2023-07-08-how-does-useeffect-work/</guid><description>useEffect() is one of the most confusing hooks in React, it allows us to run functions after DOM updates.</description><pubDate>Sat, 08 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does useInsertionEffect() work internally in React?</title><link>https://jser.dev/2023-07-02-use-insertion-effect/</link><guid isPermaLink="true">https://jser.dev/2023-07-02-use-insertion-effect/</guid><description>useInsertionEffect() allows effect to be run even sooner than layout effects.</description><pubDate>Sun, 02 Jul 2023 09:21:10 GMT</pubDate></item><item><title>How does useState() work internally in React?</title><link>https://jser.dev/2023-06-19-how-does-usestate-work/</link><guid isPermaLink="true">https://jser.dev/2023-06-19-how-does-usestate-work/</guid><description>useState() is the only state hook that stores data and triggers updates.</description><pubDate>Fri, 23 Jun 2023 09:21:10 GMT</pubDate></item><item><title>React types in TypeScript</title><link>https://jser.dev/2023-05-31-react-types-in-typescript/</link><guid isPermaLink="true">https://jser.dev/2023-05-31-react-types-in-typescript/</guid><description>Demystify the common React types in TypeScript</description><pubDate>Wed, 31 May 2023 09:21:10 GMT</pubDate></item><item><title>How does ErrorBoundary work internally in React?</title><link>https://jser.dev/2023-05-26-how-does-errorboundary-work/</link><guid isPermaLink="true">https://jser.dev/2023-05-26-how-does-errorboundary-work/</guid><description>ErrorBoundary allows us to catch error declaratively on the internal Fiber Tree inside React.</description><pubDate>Fri, 26 May 2023 09:21:10 GMT</pubDate></item><item><title>Introducing QuickCode 75 - a companion app for Grind 75 / Blind 75</title><link>https://jser.dev/2023-05-21-quick-code-75/</link><guid isPermaLink="true">https://jser.dev/2023-05-21-quick-code-75/</guid><description>QuickCode 75 is a tool to help you quickly review and check your understandings of Grind 75 questions.</description><pubDate>Sun, 21 May 2023 09:21:10 GMT</pubDate></item><item><title>How does useTransition() work internally in React?</title><link>https://jser.dev/2023-05-19-how-does-usetransition-work/</link><guid isPermaLink="true">https://jser.dev/2023-05-19-how-does-usetransition-work/</guid><description>useTransition() is an API to explicitly put updates in a lower priroity and make it interruptable in concurrent mode.</description><pubDate>Thu, 18 May 2023 09:21:10 GMT</pubDate></item><item><title>Introducing Shaku - a family of tools that help write tech articles</title><link>https://jser.dev/2023-05-14-introducing-shaku/</link><guid isPermaLink="true">https://jser.dev/2023-05-14-introducing-shaku/</guid><description>Shaku is a family of tools that makes it easier to write technical articles.</description><pubDate>Sun, 14 May 2023 09:21:10 GMT</pubDate></item><item><title>How does useId() work internally in React?</title><link>https://jser.dev/2023-04-25-how-does-useid-work/</link><guid isPermaLink="true">https://jser.dev/2023-04-25-how-does-useid-work/</guid><description>useId() generates unique id based on the Fiber Node position on the Fiber Tree. If not hydration, it falls back to global counter.</description><pubDate>Sun, 23 Apr 2023 09:21:10 GMT</pubDate></item><item><title>How do React Server Components(RSC) work internally in React?</title><link>https://jser.dev/react/2023/04/20/how-do-react-server-components-work-internally-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2023/04/20/how-do-react-server-components-work-internally-in-react/</guid><description>React Server Components are rendered on server and its JSON format response is streamed to client in multiple chunks.</description><pubDate>Thu, 20 Apr 2023 09:21:10 GMT</pubDate></item><item><title>My guess at how React Server Component(RSC) works internally</title><link>https://jser.dev/react/2023/04/10/guess-rsc/</link><guid isPermaLink="true">https://jser.dev/react/2023/04/10/guess-rsc/</guid><description>JSer tries to implement something similar to React Server Component.</description><pubDate>Mon, 10 Apr 2023 09:21:10 GMT</pubDate></item><item><title>What is Progressive Hydration and how does it work internally in React?</title><link>https://jser.dev/react/2023/03/30/progressive-hydration/</link><guid isPermaLink="true">https://jser.dev/react/2023/03/30/progressive-hydration/</guid><description>React Tree on server is rendered progressively and streamed to client and hydration continues.</description><pubDate>Thu, 30 Mar 2023 09:21:10 GMT</pubDate></item><item><title>How hydration works with Suspense internally in React?</title><link>https://jser.dev/react/2023/03/27/hydration-with-suspense/</link><guid isPermaLink="true">https://jser.dev/react/2023/03/27/hydration-with-suspense/</guid><description>Suspens in SSR is replaced with special comment node marker which is handled specially on client.</description><pubDate>Mon, 27 Mar 2023 09:21:10 GMT</pubDate></item><item><title>How does useEffectEvent() work internally in React?</title><link>https://jser.dev/react/2023/03/18/useeffectevent/</link><guid isPermaLink="true">https://jser.dev/react/2023/03/18/useeffectevent/</guid><description>useEffectEvent() is a way to address the caveat of useEffect() dependencies.</description><pubDate>Sat, 18 Mar 2023 09:21:10 GMT</pubDate></item><item><title>How basic hydration works internally in React?</title><link>https://jser.dev/react/2023/03/17/how-does-hydration-work-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2023/03/17/how-does-hydration-work-in-react/</guid><description>Hydration is the process that rather than creating new DOM, React tries to reuse the existing DOM rendered by server.</description><pubDate>Fri, 17 Mar 2023 09:21:10 GMT</pubDate></item><item><title>First look at fine-grained reactivity in Solid - SolidJS Source Code Walkthrough 1</title><link>https://jser.dev/react/2023/02/26/reactivity-in-solidjs/</link><guid isPermaLink="true">https://jser.dev/react/2023/02/26/reactivity-in-solidjs/</guid><description>JSer tries to understand the internals of SolidJS</description><pubDate>Sun, 26 Feb 2023 09:21:10 GMT</pubDate></item><item><title>Build an accessible Popover component in React</title><link>https://jser.dev/react/2023/02/13/build-accessible-popover-component-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2023/02/13/build-accessible-popover-component-in-react/</guid><description>JSer tries to build an accessible Popover component in React</description><pubDate>Mon, 13 Feb 2023 09:21:10 GMT</pubDate></item><item><title>Distributivity in Typescript</title><link>https://jser.dev/typescript/2023/01/22/distributiveness-in-ts/</link><guid isPermaLink="true">https://jser.dev/typescript/2023/01/22/distributiveness-in-ts/</guid><description>When conditional types act on a generic type, they become distributive when given a union type.</description><pubDate>Sun, 22 Jan 2023 02:21:10 GMT</pubDate></item><item><title>`{}` vs `object` vs `Object` in TypeScript.</title><link>https://jser.dev/typescript/2023/01/12/typescript-object-Object/</link><guid isPermaLink="true">https://jser.dev/typescript/2023/01/12/typescript-object-Object/</guid><description>These are 3 quite confusing types in TypeScript, let&apos;s understand their difference once and for all.</description><pubDate>Thu, 12 Jan 2023 02:21:10 GMT</pubDate></item><item><title>2022 Review and 2023 Plan for JSer</title><link>https://jser.dev/misc/2022/12/31/2022-review-and-2023-plan/</link><guid isPermaLink="true">https://jser.dev/misc/2022/12/31/2022-review-and-2023-plan/</guid><description>What JSer has done and what&apos;s next.</description><pubDate>Sat, 31 Dec 2022 02:21:10 GMT</pubDate></item><item><title>Maze Solver Visualizer</title><link>https://jser.dev/react/2022/10/09/maze-solver/</link><guid isPermaLink="true">https://jser.dev/react/2022/10/09/maze-solver/</guid><description>JSer tries to create a Maze Solver Visualizer.</description><pubDate>Sun, 09 Oct 2022 09:21:10 GMT</pubDate></item><item><title>How does React Portal work internally ?</title><link>https://jser.dev/react/2022/09/24/how-does-react-portal-work/</link><guid isPermaLink="true">https://jser.dev/react/2022/09/24/how-does-react-portal-work/</guid><description>Portal is a special component that move part of the sub DOM tree to be based on somewhere else.</description><pubDate>Sat, 24 Sep 2022 09:21:10 GMT</pubDate></item><item><title>Try to build types in TypeScript, not write them</title><link>https://jser.dev/typescript/2022/08/06/build-types-in-typescript/</link><guid isPermaLink="true">https://jser.dev/typescript/2022/08/06/build-types-in-typescript/</guid><description>As a programmer, we should try to use code to do work for us.</description><pubDate>Sat, 06 Aug 2022 09:21:10 GMT</pubDate></item><item><title>Build an accessible Tab component in React</title><link>https://jser.dev/react/2022/07/25/build-an-accessible-tab-component-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2022/07/25/build-an-accessible-tab-component-in-react/</guid><description>JSer tries to build an accessible Tab component in React</description><pubDate>Mon, 25 Jul 2022 09:21:10 GMT</pubDate></item><item><title>How does SuspenseList work internally in React?</title><link>https://jser.dev/react/2022/06/19/how-does-suspense-list-work/</link><guid isPermaLink="true">https://jser.dev/react/2022/06/19/how-does-suspense-list-work/</guid><description>SuspenseList is a comoponent to orchestrate the content revealing order of multiple Suspenses.</description><pubDate>Sun, 19 Jun 2022 09:21:10 GMT</pubDate></item><item><title>How does act() work internally in React?</title><link>https://jser.dev/react/2022/05/15/how-act-works/</link><guid isPermaLink="true">https://jser.dev/react/2022/05/15/how-act-works/</guid><description>act() is a way to bypass scheduler inside React so everything is synchronous and easy to control</description><pubDate>Sun, 15 May 2022 09:21:10 GMT</pubDate></item><item><title>An alternative(?) to React.useEvent() </title><link>https://jser.dev/react/2022/05/07/alternatives-to-useevent/</link><guid isPermaLink="true">https://jser.dev/react/2022/05/07/alternatives-to-useevent/</guid><description>A first impression of useEvent() from JSer.</description><pubDate>Sat, 07 May 2022 09:21:10 GMT</pubDate></item><item><title>How to handle version mismatch between client and server?</title><link>https://jser.dev/front-end/2022/04/22/how-to-handle-version-mismatch-between-client-and-server/</link><guid isPermaLink="true">https://jser.dev/front-end/2022/04/22/how-to-handle-version-mismatch-between-client-and-server/</guid><description>This is a common issue that is not quite easy to address.</description><pubDate>Fri, 22 Apr 2022 09:21:10 GMT</pubDate></item><item><title>How Suspense works internally in Concurrent Mode 2 - Offscreen component</title><link>https://jser.dev/react/2022/04/17/offscreen-component/</link><guid isPermaLink="true">https://jser.dev/react/2022/04/17/offscreen-component/</guid><description>Offscreen is component that has low priority in rendering, also used in Suspense</description><pubDate>Sun, 17 Apr 2022 09:21:10 GMT</pubDate></item><item><title>How Suspense works internally in Concurrent Mode 1 - Reconciling flow</title><link>https://jser.dev/react/2022/04/02/suspense-in-concurrent-mode-1-reconciling/</link><guid isPermaLink="true">https://jser.dev/react/2022/04/02/suspense-in-concurrent-mode-1-reconciling/</guid><description>The initial mount and re-render of Suspense component.</description><pubDate>Sat, 02 Apr 2022 09:21:10 GMT</pubDate></item><item><title>What are Lanes in React source code?</title><link>https://jser.dev/react/2022/03/26/lanes-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2022/03/26/lanes-in-react/</guid><description>Lanes are the marker to indicate the priority of tasks.</description><pubDate>Sat, 26 Mar 2022 09:21:10 GMT</pubDate></item><item><title>Join our discord server &quot;Hardcore React&quot; to learn React internals together</title><link>https://jser.dev/react/2022/03/17/hardcore-react-discord/</link><guid isPermaLink="true">https://jser.dev/react/2022/03/17/hardcore-react-discord/</guid><description>A new place to learn React Internals.</description><pubDate>Thu, 17 Mar 2022 01:21:10 GMT</pubDate></item><item><title>How React Scheduler works internally?</title><link>https://jser.dev/react/2022/03/16/how-react-scheduler-works/</link><guid isPermaLink="true">https://jser.dev/react/2022/03/16/how-react-scheduler-works/</guid><description>Different tasks have differnt priorities, Scheduler is the workloop to prioritize the tasks.</description><pubDate>Wed, 16 Mar 2022 09:21:10 GMT</pubDate></item><item><title>React advanced patterns - Reusable behavior hooks through Ref</title><link>https://jser.dev/react/2022/02/18/reusable-behavior-hooks-through-ref/</link><guid isPermaLink="true">https://jser.dev/react/2022/02/18/reusable-behavior-hooks-through-ref/</guid><description>This is a very cool pattern to handle events.</description><pubDate>Fri, 18 Feb 2022 09:21:10 GMT</pubDate></item><item><title>How does &apos;key&apos; work internally? List diffing in React</title><link>https://jser.dev/react/2022/02/08/the-diffing-algorithm-for-array-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2022/02/08/the-diffing-algorithm-for-array-in-react/</guid><description>`key` is to indicate React to reuse the Fiber Nodes rather than create new ones.</description><pubDate>Tue, 08 Feb 2022 09:21:10 GMT</pubDate></item><item><title>How does React handle empty values(null/undfined/Booleans) internally?</title><link>https://jser.dev/react/2022/02/04/how-React-handles-empty-values/</link><guid isPermaLink="true">https://jser.dev/react/2022/02/04/how-React-handles-empty-values/</guid><description>Empty values are simply ignore during the reconciliation.</description><pubDate>Fri, 04 Feb 2022 09:21:10 GMT</pubDate></item><item><title>Easily understand Contravariance of function arguments in TypeScript</title><link>https://jser.dev/typescript/2022/01/29/easily-understand-contravariance-in-function-arguments/</link><guid isPermaLink="true">https://jser.dev/typescript/2022/01/29/easily-understand-contravariance-in-function-arguments/</guid><description>Covariance and contravariance are quite advanced topics, but actually not difficult to understand.</description><pubDate>Sat, 29 Jan 2022 09:21:10 GMT</pubDate></item><item><title>How does React.useDeferredValue() work internally?</title><link>https://jser.dev/react/2022/01/26/how-does-react-usedeferredvalue-work/</link><guid isPermaLink="true">https://jser.dev/react/2022/01/26/how-does-react-usedeferredvalue-work/</guid><description>useDeferredValue() is a hook to lower the priority of rendering triggered by the value change.</description><pubDate>Wed, 26 Jan 2022 09:21:10 GMT</pubDate></item><item><title>The lifecycle of effect hooks in React</title><link>https://jser.dev/react/2022/01/19/lifecycle-of-effect-hook/</link><guid isPermaLink="true">https://jser.dev/react/2022/01/19/lifecycle-of-effect-hook/</guid><description>A deeper look at how effect hooks are working under the hood</description><pubDate>Wed, 19 Jan 2022 09:21:10 GMT</pubDate></item><item><title>How does React traverse Fiber tree internally?</title><link>https://jser.dev/react/2022/01/16/fiber-traversal-in-react/</link><guid isPermaLink="true">https://jser.dev/react/2022/01/16/fiber-traversal-in-react/</guid><description>React flattens Fiber Tree and traversed it as a linked-list.</description><pubDate>Sun, 16 Jan 2022 09:21:10 GMT</pubDate></item><item><title>How does React.memo() work internally?</title><link>https://jser.dev/react/2022/01/11/how-react-memo-works/</link><guid isPermaLink="true">https://jser.dev/react/2022/01/11/how-react-memo-works/</guid><description>memo() creates special Fiber Node internally that it caches the result based on its dependencies.</description><pubDate>Tue, 11 Jan 2022 09:21:10 GMT</pubDate></item><item><title>Let&apos;s take a look at ResizeObserver</title><link>https://jser.dev/webapi/2022/01/09/lets-look-at-resizeobserver/</link><guid isPermaLink="true">https://jser.dev/webapi/2022/01/09/lets-look-at-resizeobserver/</guid><description>ResizeObeserver callback is triggered after layout and before paint in Event Loop model.</description><pubDate>Sun, 09 Jan 2022 09:21:10 GMT</pubDate></item><item><title>How does React bailout work in reconciliation?</title><link>https://jser.dev/react/2022/01/07/how-does-bailout-work/</link><guid isPermaLink="true">https://jser.dev/react/2022/01/07/how-does-bailout-work/</guid><description>Bailout is the internal optimization in React to skip rendering the subtree if there nothing changed.</description><pubDate>Fri, 07 Jan 2022 09:21:10 GMT</pubDate></item><item><title>Invariant-style assertion functions in TypeScript</title><link>https://jser.dev/typescript/2022/01/06/invariant-style-assertion-functions-in-typescript/</link><guid isPermaLink="true">https://jser.dev/typescript/2022/01/06/invariant-style-assertion-functions-in-typescript/</guid><description>invariant() creates more readable code.</description><pubDate>Thu, 06 Jan 2022 09:21:10 GMT</pubDate></item><item><title>How does useImperativeHandle() work internally?</title><link>https://jser.dev/react/2021/12/25/how-does-useImperativeHandle-work/</link><guid isPermaLink="true">https://jser.dev/react/2021/12/25/how-does-useImperativeHandle-work/</guid><description>useImperativeHandle() allows child component to change ref from parent in a safe manner.</description><pubDate>Sat, 25 Dec 2021 09:21:10 GMT</pubDate></item><item><title>How does useRef() work?</title><link>https://jser.dev/react/2021/12/05/how-does-useRef-work/</link><guid isPermaLink="true">https://jser.dev/react/2021/12/05/how-does-useRef-work/</guid><description>useRef() internally holds a value that its changes don&apos;t trigger re-render.</description><pubDate>Sun, 05 Dec 2021 09:21:10 GMT</pubDate></item><item><title>How does useLayoutEffect() work internally?</title><link>https://jser.dev/react/2021/12/04/how-does-useLayoutEffect-work/</link><guid isPermaLink="true">https://jser.dev/react/2021/12/04/how-does-useLayoutEffect-work/</guid><description>useLayoutEffect() hooks are commited right after DOM mutations are done, and synchronously.</description><pubDate>Sat, 04 Dec 2021 09:21:10 GMT</pubDate></item><item><title>How does Context work internally in React?</title><link>https://jser.dev/react/2021/07/28/how-does-context-work/</link><guid isPermaLink="true">https://jser.dev/react/2021/07/28/how-does-context-work/</guid><description>Context creates special Fiber Nodes that hold values for its sub-tree to access.</description><pubDate>Wed, 28 Jul 2021 09:21:10 GMT</pubDate></item></channel></rss>