<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Prateek Surana</title><description>Articles on web development, developer experience, and design systems.</description><link>https://prateeksurana.me/</link><item><title>A JavaScript Developer&apos;s Guide to Go</title><link>https://prateeksurana.me/blog/guide-to-go-for-javascript-developers/</link><guid isPermaLink="true">https://prateeksurana.me/blog/guide-to-go-for-javascript-developers/</guid><description>A guide for JavaScript developers learning Go through direct comparisons of fundamental concepts between both languages.</description><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate></item><item><title>Next.js 13 vs Remix: An In-depth case study</title><link>https://prateeksurana.me/blog/nextjs-13-vs-remix-an-in-depth-case-study/</link><guid isPermaLink="true">https://prateeksurana.me/blog/nextjs-13-vs-remix-an-in-depth-case-study/</guid><description>A detailed comparison of the features Next.js 13 and Remix Run by building a Twitter Clone app in both frameworks.</description><pubDate>Fri, 29 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Fine-tuning refs with useImperativeHandle</title><link>https://prateeksurana.me/blog/fine-tuning-refs-with-useimperativehandle/</link><guid isPermaLink="true">https://prateeksurana.me/blog/fine-tuning-refs-with-useimperativehandle/</guid><description>Understand what refs in React are, how you can use them to manipulate DOM nodes and how you can customize the exposed refs with useImperativeHandle</description><pubDate>Sat, 11 Mar 2023 00:00:00 GMT</pubDate></item><item><title>The future of rendering in React</title><link>https://prateeksurana.me/blog/future-of-rendering-in-react/</link><guid isPermaLink="true">https://prateeksurana.me/blog/future-of-rendering-in-react/</guid><description>Understand what are the problems with current rendering patterns in React, and how the new rendering patterns introduced with React 18 and future versions of React aim to solve them.</description><pubDate>Thu, 06 Oct 2022 00:00:00 GMT</pubDate></item><item><title>Simplify immutable data structures in useReducer with Immer</title><link>https://prateeksurana.me/blog/simplify-immutable-data-structures-in-usereducer-with-immer/</link><guid isPermaLink="true">https://prateeksurana.me/blog/simplify-immutable-data-structures-in-usereducer-with-immer/</guid><description>Learn how you can simplify deeply nested state updates when using useReducer with Immer.</description><pubDate>Sun, 06 Mar 2022 00:00:00 GMT</pubDate></item><item><title>How JavaScript Classes work under the hood</title><link>https://prateeksurana.me/blog/how-javascript-classes-work-under-the-hood/</link><guid isPermaLink="true">https://prateeksurana.me/blog/how-javascript-classes-work-under-the-hood/</guid><description>Learn what prototypes are in JavaScript, what are they used for, what prototype chaining is and how do JavaScript classes work under the hood with these concepts.</description><pubDate>Sat, 01 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Mastering data fetching with React Query and Next.js</title><link>https://prateeksurana.me/blog/mastering-data-fetching-with-react-query-and-next-js/</link><guid isPermaLink="true">https://prateeksurana.me/blog/mastering-data-fetching-with-react-query-and-next-js/</guid><description>Learn how React Query simplifies data fetching and caching for you and how it works in tandem with the Next.js pre-rendering methods</description><pubDate>Tue, 02 Nov 2021 00:00:00 GMT</pubDate></item><item><title>A JavaScript developer’s guide to browser cookies</title><link>https://prateeksurana.me/blog/javascript-developer-guide-to-browser-cookies/</link><guid isPermaLink="true">https://prateeksurana.me/blog/javascript-developer-guide-to-browser-cookies/</guid><description>Learn how browser cookies work and how you can access, manipulate and control their visibiliy across browser with JavaScript.</description><pubDate>Sun, 26 Sep 2021 00:00:00 GMT</pubDate></item><item><title>What is the difference between extends and plugins in ESLint config</title><link>https://prateeksurana.me/blog/difference-between-eslint-extends-and-plugins/</link><guid isPermaLink="true">https://prateeksurana.me/blog/difference-between-eslint-extends-and-plugins/</guid><description>Learn how ESLint works, what are the role of plugins and extends keys in your ESLint config and how they make ESLint an extremely configurable and versatile JavaScript Linter.</description><pubDate>Sat, 11 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Why you should avoid using state for computed properties</title><link>https://prateeksurana.me/blog/avoid-using-state-for-computed-properties/</link><guid isPermaLink="true">https://prateeksurana.me/blog/avoid-using-state-for-computed-properties/</guid><description>Understand why creating state variables for properties that can be computed is a bad idea, and how you can handle some edge cases when you need to derive your state from props.</description><pubDate>Sun, 18 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Why using object spread with reduce probably a bad idea</title><link>https://prateeksurana.me/blog/why-using-object-spread-with-reduce-bad-idea/</link><guid isPermaLink="true">https://prateeksurana.me/blog/why-using-object-spread-with-reduce-bad-idea/</guid><description>Explore why using object spread with .reduce() can sometimes significantly affect the performance of your JavaScript apps and libraries.</description><pubDate>Sun, 13 Jun 2021 00:00:00 GMT</pubDate></item><item><title>Supercharge your git workflow with GitLens</title><link>https://prateeksurana.me/blog/gitlens-supercharge-your-git-workflow/</link><guid isPermaLink="true">https://prateeksurana.me/blog/gitlens-supercharge-your-git-workflow/</guid><description>Some of my favorite features of the GitLens VSCode extension that can help you optimize your git workflow in VSCode.</description><pubDate>Thu, 20 May 2021 00:00:00 GMT</pubDate></item><item><title>When should you memoize in React</title><link>https://prateeksurana.me/blog/when-should-you-memoize-in-react/</link><guid isPermaLink="true">https://prateeksurana.me/blog/when-should-you-memoize-in-react/</guid><description>Explore why premature optimization can be bad in React and when should you actually use the memoization methods provided by React</description><pubDate>Sun, 18 Apr 2021 00:00:00 GMT</pubDate></item><item><title>JavaScript tips for React Developers</title><link>https://prateeksurana.me/blog/javascript-tips-for-react-developers/</link><guid isPermaLink="true">https://prateeksurana.me/blog/javascript-tips-for-react-developers/</guid><description>Check out how you can write more efficient, maintainable and clean React code with these simple tips.</description><pubDate>Sun, 28 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Integrating reCAPTCHA with Next.js</title><link>https://prateeksurana.me/blog/integrating-recaptcha-with-nextjs/</link><guid isPermaLink="true">https://prateeksurana.me/blog/integrating-recaptcha-with-nextjs/</guid><description>Check out how you can take advantage of Next.js&apos; API routes to get the most out of CAPTCHA solutions like reCAPTCHA and hCaptcha.</description><pubDate>Sun, 17 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Creating a React component library using Storybook 7</title><link>https://prateeksurana.me/blog/react-component-library-with-storybook-7/</link><guid isPermaLink="true">https://prateeksurana.me/blog/react-component-library-with-storybook-7/</guid><description>Learn how to build a React component library using Storybook 7 and TypeScript, compile it with Rollup and publish it.</description><pubDate>Sun, 20 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Using environment variables with Webpack</title><link>https://prateeksurana.me/blog/using-environment-variables-with-webpack/</link><guid isPermaLink="true">https://prateeksurana.me/blog/using-environment-variables-with-webpack/</guid><description>A guide for setting up and using environment variables with Webpack and handling different values for Production and Development environments.</description><pubDate>Mon, 09 Nov 2020 00:00:00 GMT</pubDate></item><item><title>How to build a React library using TypeScript</title><link>https://prateeksurana.me/blog/react-library-with-typescript/</link><guid isPermaLink="true">https://prateeksurana.me/blog/react-library-with-typescript/</guid><description>A step by step guide to setup a React Library from scratch using TypeScript, and publish it to NPM.</description><pubDate>Sun, 18 Oct 2020 00:00:00 GMT</pubDate></item></channel></rss>