FS logo

Farhaan Shaikh

FS Blogs

HomeBlogsSubscribe

FS Blogs

Notes on building, shipping, and learning in public.

Essays, experiments, and honest lessons from the work behind this blog.

New posts, no noise.

One short email when something new is published.

No spam. Only new posts.

v

Showing 7 posts

Why React Hooks Break?
ReactApr 17, 2026
Why React Hooks Break?Technical

Why React Hooks Break?

A deep dive into how React tracks hooks internally using an indexed system—and why breaking hook order causes bugs, crashes, and chaos.

Open article→
SetState feels broken
ReactApr 15, 2026
SetState feels brokenTechnical

SetState feels broken

React handles state updates internally—why setState is asynchronous, how batching works, and why your state sometimes feels “wrong”.

Open article→
Using index as keys
ReactApr 13, 2026
Using index as keysTechnical

Using index as keys

Why using index as key causes subtle bugs, and how to fix it using stable identities.

Open article→
Re-renders are cheap
ReactApr 10, 2026
Re-renders are cheapTutorial

Re-renders are cheap

React avoids expensive DOM operations using diffing and reconciliation—and why most re-renders are not a performance problem.

Open article→
React re-runs your component, then what?
ReactApr 8, 2026
React re-runs your component, then what?Tutorial

React re-runs your component, then what?

What happens after a React component re-renders—covering Virtual DOM, diffing, and the 3-phase update process that makes React fast.

Open article→
React re rendered my component
ReactApr 6, 2026
React re rendered my componentTutorial

React re rendered my component

What triggers React to re render your component, and why re-rendering is not the same as updating the DOM.

Open article→
React ran my useEffect twice
ReactApr 3, 2026
React ran my useEffect twiceTechnical

React ran my useEffect twice

Why React runs your effects twice in development, what Strict Mode is actually doing behind the scenes, and how it helps you write safer, predictable code.

Open article→