RSSAmplifier

Blog

Prateek Surana

Articles on web development, developer experience, and design systems.

prateeksurana.meRSS feed ↗18 posts

Latest posts

A JavaScript Developer's Guide to Go

A guide for JavaScript developers learning Go through direct comparisons of fundamental concepts between both languages.

Next.js 13 vs Remix: An In-depth case study

A detailed comparison of the features Next.js 13 and Remix Run by building a Twitter Clone app in both frameworks.

Fine-tuning refs with useImperativeHandle

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

The future of rendering in React

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.

Simplify immutable data structures in useReducer with Immer

Learn how you can simplify deeply nested state updates when using useReducer with Immer.

How JavaScript Classes work under the hood

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.

Mastering data fetching with React Query and Next.js

Learn how React Query simplifies data fetching and caching for you and how it works in tandem with the Next.js pre-rendering methods

A JavaScript developer’s guide to browser cookies

Learn how browser cookies work and how you can access, manipulate and control their visibiliy across browser with JavaScript.

What is the difference between extends and plugins in ESLint config

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.

Why you should avoid using state for computed properties

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.

Why using object spread with reduce probably a bad idea

Explore why using object spread with .reduce() can sometimes significantly affect the performance of your JavaScript apps and libraries.

Supercharge your git workflow with GitLens

Some of my favorite features of the GitLens VSCode extension that can help you optimize your git workflow in VSCode.

When should you memoize in React

Explore why premature optimization can be bad in React and when should you actually use the memoization methods provided by React

JavaScript tips for React Developers

Check out how you can write more efficient, maintainable and clean React code with these simple tips.

Integrating reCAPTCHA with Next.js

Check out how you can take advantage of Next.js' API routes to get the most out of CAPTCHA solutions like reCAPTCHA and hCaptcha.

Creating a React component library using Storybook 7

Learn how to build a React component library using Storybook 7 and TypeScript, compile it with Rollup and publish it.

Using environment variables with Webpack

A guide for setting up and using environment variables with Webpack and handling different values for Production and Development environments.

How to build a React library using TypeScript

A step by step guide to setup a React Library from scratch using TypeScript, and publish it to NPM.