<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Rainbow world</title><description>Frontend engineering articles on JavaScript, React, TypeScript and more by Romain Trotard.</description><link>https://www.romaintrotard.com/</link><item><title>How to attach a debugger on Node.js spawn(), fork() and Worker Threads</title><link>https://www.romaintrotard.com/posts/debugging-node-process/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/debugging-node-process/</guid><description>`console.log` works for simple debugging, but when things get complex, the `Node.js` **inspect mode** is your best friend. Let’s see how to attach your devtools and debug your processes like a pro.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate></item><item><title>How does Sentry’s third party integration work?</title><link>https://www.romaintrotard.com/posts/sentry-third-party-filter-exploration/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/sentry-third-party-filter-exploration/</guid><description>Discover how Sentry&apos;s thirdPartyErrorFilterIntegration enhances error monitoring by filtering and enriching stack traces. Learn about the setup, runtime processes, and how it ensures precise error reporting for your applications.</description><pubDate>Sun, 13 Jul 2025 00:00:00 GMT</pubDate></item><item><title>No More Sentry Alerts? Discover 2 Culprits I Encountered</title><link>https://www.romaintrotard.com/posts/sentry-exploration/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/sentry-exploration/</guid><description>Explore 2 issues causing your Sentry alerts to stop working in your React applications. Based on a real case, learn how I troubleshooted and resolved these problems to ensure your error monitoring stays effective.</description><pubDate>Wed, 10 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Under the hood: Exploring Polyfication&apos;s Journey with core-js</title><link>https://www.romaintrotard.com/posts/exploring-core-js-polyfication/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/exploring-core-js-polyfication/</guid><description>Polyfication is at the heart of ensuring seamless compatibility of JavaScript code across environments. Under the hood, core-js dynamically determines which polyfills are needed to augment features not supported by browsers. This behind-the-scenes magic allows developers to write modern JavaScript code with confidence, knowing that it will perform consistently across platforms.</description><pubDate>Tue, 14 May 2024 00:00:00 GMT</pubDate></item><item><title>Tanstack Router: Harnessing TypeScript&apos;s Power for Revolutionary Routing</title><link>https://www.romaintrotard.com/posts/tanstack-router-typescript-wizardry/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/tanstack-router-typescript-wizardry/</guid><description>Explore how @tanstack/router transforms web development with its full type-safe approach. Learn about its innovative use of interfaces and &apos;declare module&apos;, ensuring a perfectly tailored routing experience based on your project&apos;s configuration.</description><pubDate>Sat, 20 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Better developer experience with full typesafe helper functions</title><link>https://www.romaintrotard.com/posts/typesafety-mastering/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/typesafety-mastering/</guid><description>When you build a library, you want your code to be fully type safe and provide to developers the best experience possible. Unfortunately, sometimes it can be tricky to provide this full type safety. Let&apos;s see a tip to do it with an example.</description><pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Slider sorcery: Unleashing Image Comparison Component Magic</title><link>https://www.romaintrotard.com/posts/comparison-component/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/comparison-component/</guid><description>This component simplifies comparisons across different scenarios, allowing for easy highlighting of distinctions. You&apos;ll master its implementation effortlessly by the end of this article.</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Serverless function cold start is too slow, let&apos;s dockerize our app</title><link>https://www.romaintrotard.com/posts/serverless-function-cold-start-is-too-slow-lets-dockerize-our-app/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/serverless-function-cold-start-is-too-slow-lets-dockerize-our-app/</guid><description>In an application I built, I couldn&apos;t use edge function. Unfortunately, serverless function are so slow to start that I decided to dockerize my application and deploy it on my server.</description><pubDate>Wed, 28 Jun 2023 00:00:00 GMT</pubDate></item><item><title>React routing library with Navigation API</title><link>https://www.romaintrotard.com/posts/react-routing-library-with-navigation-api/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-routing-library-with-navigation-api/</guid><description>It&apos;s now time to connect the agnostic routing library that uses the navigation API to React.</description><pubDate>Wed, 05 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Master the Art of Navigation: Building a Library with the Navigation API</title><link>https://www.romaintrotard.com/posts/master-the-art-of-navigation-building-a-library-with-the-navigation-api/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/master-the-art-of-navigation-building-a-library-with-the-navigation-api/</guid><description>Now that we know what is the navigation API. Let&apos;s build a routing library agnostic of every framework.</description><pubDate>Wed, 08 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Back to the future: Navigation API</title><link>https://www.romaintrotard.com/posts/back-to-the-future-navigation-api/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/back-to-the-future-navigation-api/</guid><description>The new navigation API is coming. Ryan Florence said in a github issue that it will help to a better implementation for `react-router`. Let&apos;s explore this new API.</description><pubDate>Mon, 19 Dec 2022 00:00:00 GMT</pubDate></item><item><title>React Hook Form: a unique implementation</title><link>https://www.romaintrotard.com/posts/react-hook-form-unique-implem/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-hook-form-unique-implem/</guid><description>Forms are used everyday. Some library exists to improve both user and developer experience. `react-hook-form` is one of this library focusing on performance. Let&apos;s deep dive to this library.</description><pubDate>Wed, 16 Nov 2022 00:00:00 GMT</pubDate></item><item><title>Javascript CLI demystified</title><link>https://www.romaintrotard.com/posts/js-cli-demystified/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/js-cli-demystified/</guid><description>I&apos;m sure you use javascript CLI every day. For example, when using `eslint`, `prettier`, ... But do you know how to make your own js CLI and how it works?</description><pubDate>Tue, 26 Jul 2022 00:00:00 GMT</pubDate></item><item><title>Exit animation with `framer-motion` demystified</title><link>https://www.romaintrotard.com/posts/exit-animation-with-framer-motion-demystified/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/exit-animation-with-framer-motion-demystified/</guid><description>Animation has their own implementation to deal with exit animation, because React do no allow to delay the unmounting of components. The `framer-motion` API seems to me to be the most natural one. Let&apos;s see the amazing implementation of exit animation with this library.</description><pubDate>Wed, 29 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Virtualization with fixed size items (part 1)</title><link>https://www.romaintrotard.com/posts/virtualization-with-fixed-size-items-part-1/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/virtualization-with-fixed-size-items-part-1/</guid><description>Have you performance issues because you have too many items in a list on your page? Let&apos;s see how to fix that thanks to virtualization.</description><pubDate>Wed, 01 Jun 2022 00:00:00 GMT</pubDate></item><item><title>useEvent: the new upcoming hook?</title><link>https://www.romaintrotard.com/posts/useevent-the-new-upcoming-hook/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/useevent-the-new-upcoming-hook/</guid><description>Did you often transform React state to React ref not to re-create a new reference of your listener which is wrapped with useCallback because passed to a memo component. It happens to me so often, a new rfc for a new hook named useEvent has been opened by React that should make you happy :)</description><pubDate>Wed, 11 May 2022 00:00:00 GMT</pubDate></item><item><title>Proxy in JS: what the hell?</title><link>https://www.romaintrotard.com/posts/proxy-in-js-what-the-hell/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/proxy-in-js-what-the-hell/</guid><description>I am sure you are confident with object. But do you know that you can proxify them to intercept when a property is called to execute some custom code. Let&apos;s see what it is? How to use it? And some libraries that use it.</description><pubDate>Wed, 20 Apr 2022 00:00:00 GMT</pubDate></item><item><title>useImperativeHandle: the most unknown React hook</title><link>https://www.romaintrotard.com/posts/useimperativehandle-the-most-unknown-react-hook/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/useimperativehandle-the-most-unknown-react-hook/</guid><description>Now that React ref has no secret for you, we can look at the useImperativeHandle hook that allows us to expose functions to its parent thanks to its reference and inverse the unidirectional data flow.</description><pubDate>Wed, 06 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Things you need to know about React ref</title><link>https://www.romaintrotard.com/posts/things-you-need-to-know-about-react-ref/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/things-you-need-to-know-about-react-ref/</guid><description>React states are often overused because React refs are misunderstood. You will see what they are and when to use them. Do not use state when it&apos;s not useful anymore.</description><pubDate>Wed, 09 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Things you need to know about React state</title><link>https://www.romaintrotard.com/posts/things-you-need-to-know-about-react-state/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/things-you-need-to-know-about-react-state/</guid><description>You probably used to use state, but do you know that you can lazy init it, update state with a callback, ... You will see from the fundamentals to more advanced things.</description><pubDate>Wed, 23 Feb 2022 00:00:00 GMT</pubDate></item><item><title>preventDefault vs stopPropagation</title><link>https://www.romaintrotard.com/posts/preventdefault-vs-stoppropagation/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/preventdefault-vs-stoppropagation/</guid><description>Do you always use `preventDefault` and `stopPropagation` because you don&apos;t know the difference? Let&apos;s see what is the role of each one.</description><pubDate>Wed, 09 Feb 2022 00:00:00 GMT</pubDate></item><item><title>When to use useCallback?</title><link>https://www.romaintrotard.com/posts/when-to-use-usecallback/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/when-to-use-usecallback/</guid><description>Are you wondering when to use `useCallback`? I propose you my vision about it. And of course how it&apos;s implemented :)</description><pubDate>Wed, 26 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Unknown console API in JS</title><link>https://www.romaintrotard.com/posts/unknown-console-api-in-js/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/unknown-console-api-in-js/</guid><description>If you only use `console.log`, do you know the other console methods which can make better logging? Let&apos;s see them.</description><pubDate>Wed, 12 Jan 2022 00:00:00 GMT</pubDate></item><item><title>use-context-selector demystified</title><link>https://www.romaintrotard.com/posts/use-context-selector-demystified/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/use-context-selector-demystified/</guid><description>In the React context performance I talked about the `use-context-selector`, but how does it work under the hood?</description><pubDate>Wed, 29 Dec 2021 00:00:00 GMT</pubDate></item><item><title>CSS clip-path, what the heck?</title><link>https://www.romaintrotard.com/posts/css-clip-path-what-the-heck/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/css-clip-path-what-the-heck/</guid><description>Sometimes, you would like to store some data in the browser. Here is the Web Storage API that can make you happy. But what is it? And how to use it?</description><pubDate>Wed, 22 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Web Storage API: localStorage and sessionStorage</title><link>https://www.romaintrotard.com/posts/lets-explore-the-web-storage-api-localstorage-and-sessionstorage/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/lets-explore-the-web-storage-api-localstorage-and-sessionstorage/</guid><description>Sometimes, you would like to store some data in the browser. Here is the Web Storage API that can make you happy. But what is it? And how to use it?</description><pubDate>Wed, 24 Nov 2021 00:00:00 GMT</pubDate></item><item><title>React context, performance?</title><link>https://www.romaintrotard.com/posts/react-context-performance/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-context-performance/</guid><description>React context is used by many libraries such as `react-router`, `react-query`, ... But what is it? How do we use it? What about the performances?</description><pubDate>Wed, 10 Nov 2021 00:00:00 GMT</pubDate></item><item><title>JS Symbol, what the heck?</title><link>https://www.romaintrotard.com/posts/js-symbol-what-the-heck-hak/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/js-symbol-what-the-heck-hak/</guid><description>Symbol in javascript is something that is not well known but is still used without us knowing it. Let&apos;s take a look at it.</description><pubDate>Wed, 27 Oct 2021 00:00:00 GMT</pubDate></item><item><title>var, let, const: what&apos;s the difference?</title><link>https://www.romaintrotard.com/posts/var-let-const-what-s-the-difference/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/var-let-const-what-s-the-difference/</guid><description>Daily, you probably use `var`, `let` or/and `const`, but do you know the differences between them? It&apos;s the subject of this article.</description><pubDate>Wed, 06 Oct 2021 00:00:00 GMT</pubDate></item><item><title>react-router v6 demystified (part 3)</title><link>https://www.romaintrotard.com/posts/react-router-v6-demystified-part-3/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-router-v6-demystified-part-3/</guid><description>In this last article, we continue the exploration of the `react-router` code and our implementation.</description><pubDate>Wed, 22 Sep 2021 00:00:00 GMT</pubDate></item><item><title>react-router v6 demystified (part 2)</title><link>https://www.romaintrotard.com/posts/react-router-v6-demystified-part-2/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-router-v6-demystified-part-2/</guid><description>In this second article, we will focus on understanding how is implemented `react-router` v6, and make a simpler implementation.</description><pubDate>Wed, 01 Sep 2021 00:00:00 GMT</pubDate></item><item><title>react-router v6 demystified (part 1)</title><link>https://www.romaintrotard.com/posts/react-router-v6-demystified-part-1/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-router-v6-demystified-part-1/</guid><description>In this first article, we are going to see the main differences in the API of `react-router` v6 compared to the previous version.</description><pubDate>Tue, 17 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Let&apos;s explore javascript&apos;s Location and History API</title><link>https://www.romaintrotard.com/posts/explore-javascript-location-and-history-api/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/explore-javascript-location-and-history-api/</guid><description>The goal is to understand how works the Location and History API to implement a `react-router` library like.</description><pubDate>Wed, 04 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Let&apos;s do some animations in native Javascript</title><link>https://www.romaintrotard.com/posts/animation-in-native-javascript/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/animation-in-native-javascript/</guid><description>If you wonder how to do some animations in javascript, it was the same for me. In this article, I present you what I discovered.</description><pubDate>Wed, 14 Jul 2021 00:00:00 GMT</pubDate></item><item><title>How to manage internationalization in React? react-intl like</title><link>https://www.romaintrotard.com/posts/how-to-manage-internationalization/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/how-to-manage-internationalization/</guid><description>Let&apos;s explore how to implement internationalization with React to make your application understandable by everybody.</description><pubDate>Wed, 30 Jun 2021 00:00:00 GMT</pubDate></item><item><title>React event listeners demystified</title><link>https://www.romaintrotard.com/posts/react-event-listeners-demystified/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/react-event-listeners-demystified/</guid><description>Let&apos;s go deep in the React implementation to know event listeners are handled.</description><pubDate>Sat, 12 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Debounce vs throttle</title><link>https://www.romaintrotard.com/posts/debounce-throttle/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/debounce-throttle/</guid><description>In this article, we are going together how to use the functions throttle and debounce and how to implement them.</description><pubDate>Tue, 09 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Prevent useless re-render</title><link>https://www.romaintrotard.com/posts/prevent-react-rerendering/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/prevent-react-rerendering/</guid><description>It can happen that performances are degraded. One of the possible reason can be that you have useless re-render. We are gonna focus, in this article, to see how to prevent useless re-render.</description><pubDate>Thu, 21 Jan 2021 00:00:00 GMT</pubDate></item><item><title>How does Reselect work?</title><link>https://www.romaintrotard.com/posts/reselect-under-the-hood/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/reselect-under-the-hood/</guid><description>Let&apos;s look closely the code of the library Reselect, which handle memoization of Redux (and others) selectors.</description><pubDate>Mon, 04 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Javascript memoization</title><link>https://www.romaintrotard.com/posts/function-result-memoization/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/function-result-memoization/</guid><description>In this article, we are gonna explore how to do memoization in javascript.</description><pubDate>Tue, 22 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Different types of equality in Javascript.</title><link>https://www.romaintrotard.com/posts/javascript-equalities/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/javascript-equalities/</guid><description>It exists different types of equality which are used in different cases. Let&apos;s explore them together.</description><pubDate>Sat, 19 Dec 2020 00:00:00 GMT</pubDate></item><item><title>How does Redux works?</title><link>https://www.romaintrotard.com/posts/redux-under-the-hood/</link><guid isPermaLink="true">https://www.romaintrotard.com/posts/redux-under-the-hood/</guid><description>Let&apos;s explore together in this article, the well known library Redux, to see its implementation</description><pubDate>Sat, 28 Nov 2020 00:00:00 GMT</pubDate></item></channel></rss>