Alex Sidorenko
alexsidorenko.com
Alex Sidorenko
@alexsidorenko.com
P.S. router.refresh does not invalidate cached data (on the server), revalidatePath does
October 27, 2025 at 11:09 AM
revalidatePage/Tag in server action updates data in one round trip, so a good default for mutations

router.refresh is for non-mutation cases (refresh data on client event, etc...)
October 27, 2025 at 11:03 AM
On the bright side, it's easier to learn peripheral stuff from first principles without cookie banners or worrying about asking stupid questions

Easier to broaden the scope, harder to hyper-specialize
August 10, 2025 at 10:03 PM
The first point is the main one, I think. Comes from folks who work in companies with clear backend/frontend divide. They don't want RSC because for them, it's more hustle for no benefit.

So the pushback (at least in part) comes from the existing structures of work we adapted during SPA era
June 16, 2025 at 1:37 PM
Got you. From my observation, most folks who miss SPA behavior from Next mainly want two things:

1. Static output with no node server
2. Instant route navigation
June 16, 2025 at 1:31 PM
But if you only disable SSR/SSG but not RSC (keep rendering RSC to json payload during doc request), wouldn't this still block navigation (so not really SPA)? Or do you mean only keeping RSC for server actions?
June 15, 2025 at 3:13 PM
It could just be about attention allocation. I can listen to someone speaking for 30 minutes while making breakfast. Not possible with written articles
June 14, 2025 at 3:54 PM
Also, I haven't detected that influence in Dune to be honest 😅 At least not in the movies
May 27, 2025 at 5:47 PM
I heard that Frank Herbert was influenced by Alan Watts (taoism/zen buddhism) when writing Dune. Not sure if it was the primary trigger for writing it, though
May 27, 2025 at 5:43 PM
Yep, and RSC makes "invalidate everything" much cheaper. And yet, there are still cases when client-side cache is a must (e.g. dashboard with cards => revalidate one card without revalidating others)

It would be great if RSC covered this use case

bsky.app/profile/alex...
But I feel like it's nuanced, as RSC makes "blowing away your entire page" a viable option in many cases.

Anyway, it would be awesome if you could clarify how RSC compares/integrates with existing client-side data fetching libs in your write.
May 11, 2025 at 11:20 AM
Even then, you may have a dashboard with multiple cards and want to revalidate each card separately without revalidating all the others.
May 10, 2025 at 8:42 PM
Nothing is blown away in terms of client state persisting, but revalidateTag/revalidatePath re-renders entire RSC tree from the root including layouts (and refetches everything in them). Ideally, there should be a way to revalidate the page segment separately (similar to navigation)
May 10, 2025 at 8:39 PM
Next is working on some sort of selective revalidation.

But yea, even something like "revalidateSegmentPage" could help, as right now it's only revalidatePath/revalidateTag, which both re-render the entire RSC tree from the root, including all layouts
May 9, 2025 at 4:06 PM
Yep, that's the missing bit in existing implementations rn

bsky.app/profile/alex...
Is selective revalidation conceptually possible with RSC? Say, I have a dashboard with 4 charts (each is a separate server component), and I want to revalidate only the 2nd one without re-rendering the entire page on the server.
May 9, 2025 at 3:56 PM
But I feel like it's nuanced, as RSC makes "blowing away your entire page" a viable option in many cases.

Anyway, it would be awesome if you could clarify how RSC compares/integrates with existing client-side data fetching libs in your write.
May 9, 2025 at 10:34 AM
One thing that I noticed is that people just habitually default to Tanstack Query for data fetching when using React. And in this case, RSC sorta stays in the way instead of helping.

On which Tanner pointed out (rightly so, imo) that you still need selective revalidation from the client.
May 9, 2025 at 10:28 AM
Ryan is the 🐐 of talks
May 9, 2025 at 9:51 AM
Reddit is being Reddit 😅 Anonymous (no reputational damage) = more unfiltered, honest feedback, but allows arguing while being wrong

P.S. "You’re right that such leaves could in principle be HTML-only"

Oh, this is very interesting 👀
Is this optimization planned?
May 8, 2025 at 9:56 PM
Is selective revalidation conceptually possible with RSC? Say, I have a dashboard with 4 charts (each is a separate server component), and I want to revalidate only the 2nd one without re-rendering the entire page on the server.
April 26, 2025 at 2:30 AM
What was your previous metaphysics?
April 25, 2025 at 12:09 AM
👏
November 14, 2024 at 2:17 PM