Ricky
banner
ricky.fm
Ricky
@ricky.fm
React core team • Forbes 30 worst over 30
Pinned
Ricky @ricky.fm · Feb 14
me reading replies
Reposted by Ricky
People give `useEffect` a bad rap, but it isn't usually the source of the problem. The real problem is too many `useState`s.
Devs fail to see how their data is connected and model it too discretely. As those connections appear, it is easier to synchronize than refactor the model. 1/
November 6, 2025 at 4:41 PM
Reposted by Ricky
📣 Just Scheduled

Learn how Suspense, transitions, and optimistic updates work in React with core team member @ricky.fm.

Details:
Hands On With Async React
Learn how Suspense, transitions, and optimistic updates work in React with core team member Ricky Hanlon. 🎙️ New to streaming or looking to level up? Check out StreamYard and get $10 discount! 😍…
www.youtube.com
November 6, 2025 at 3:01 PM
Reposted by Ricky
The React core team when they see devs using useEffect
November 5, 2025 at 11:29 AM
Reposted by Ricky
aargh someone kill me. literally THE WHOLE POINT of directives is that they’re not just strings!

they’re syntactically attached to the scope (function or module) in a way that’s reflected in AST.

and both RSC and Next.js ones act at module boundary which is kinda gross for decorators or API calls
October 29, 2025 at 10:21 PM
Anyone remember asm.js?

It allowed you to add "use asm" directives to functions and runtimes would compile them to binary. It was ahead of its time, but was criticized as forking JavaScript syntax and creating vendor lock in for Firefox.

It became WebAssembly.
October 26, 2025 at 8:58 PM
This is very cool!

For React devs, the closest analog is the new Activity API. There are pros/cons of each - for example with Activity you kinda have to do some ceremony to pre-render on hover, and this fork() API makes that a bit easier, but I think Activity covers more use cases.
today we landed a @svelte.dev feature i'm pretty stoked about — we call it 'forking', and it lets you run state changes offscreen and later choose whether to commit them (e.g. user hovers on a link, preload data in case they click)

- docs svelte.dev/docs/svelte/...
- demo svelte.dev/playground/a...
forking monkeys • Playground • Svelte
Web development for the rest of us
svelte.dev
October 26, 2025 at 6:09 PM
Here's the code for my Async React demo:

github.com/rickhanlonii...
GitHub - rickhanlonii/async-react: The final state of the React Conf 2025 Async React talk.
The final state of the React Conf 2025 Async React talk. - rickhanlonii/async-react
github.com
October 15, 2025 at 8:41 PM
please stop dm’ing me that it’s just backbone.js all over again
October 14, 2025 at 11:04 PM
October 14, 2025 at 3:40 AM
Reposted by Ricky
i think the @react.dev Compiler team could include more of this type of messaging. i'm being a bit inflammatory here (and Haskell may not the best analogy), but the principle of "pure things are safe to move around" is fundamentally simple and has been known for decades. teach it to new generation!
October 11, 2025 at 12:14 PM
I might do a deep dive later on.

I didn’t go into the sync example much, but if you do, you find yourself having to use a bunch of refs and effects just to get a semi good experience.

There are no refs or effects with async react features.
Came to post @ricky.fm should upload a self-recorded take on YouTube but good to know there is more on Day 2. So, a +1 on this if the combined version does justice.
October 11, 2025 at 4:58 AM
Reposted by Ricky
god im so annoyed at some of you rn when you talk about everything like it's a "product" and have no understanding of what actual developers who are trying to solve technical issues are doing
October 9, 2025 at 11:31 PM
Reposted by Ricky
i thought @ricky.fm talk was very good. i hope they’ll glue it up together from two days into a cohesive video. slightly sad about the last example breaking (a one-line mistake) but such is the nature of live demos. overall i think it’s a great conclusion to last ten years of work from the team. 💜
October 9, 2025 at 11:25 AM
Part 2 is on the schedule, I’m just going to start the demo over and finish the talk from there
October 8, 2025 at 5:14 PM
Reposted by Ricky
react <Activity> be like
I RENDERED NOTHING
October 8, 2025 at 9:17 AM
Part 2 will be at React Conf tomorrow
ricky.fm Ricky @ricky.fm · Oct 7
My talk is just suspended, I’ll finish it later
October 8, 2025 at 12:16 AM
My talk is just suspended, I’ll finish it later
October 7, 2025 at 7:54 PM
This explains why useEffectEvent took so long to ship. We tried a lot of alternatives, but they all hit this problem.

We decided to ship it with all the constraints, because it’s useful even when constrained, but I’m still hoping for a general solution.
danabra.mov dan @danabra.mov · Oct 2
the API is powerful because it completely turns off reactivity for the code inside. however, that’s also very dangerous if used all over the place because you don’t know where along the chain reactivity might disappear. the constraints prevent that
October 2, 2025 at 11:32 PM
This is React Fiber:
October 1, 2025 at 11:57 PM
Reposted by Ricky
<Activity> - The most exciting React feature just came out!

Hide a React subtree and unmount its Effects while preserving its state, and keep rendering it with lower priority.

Unlocks very exciting pre-rendering patterns along the way!

More Activity modes are coming
October 1, 2025 at 10:46 PM
Anyone remember React Fiber?
October 1, 2025 at 1:28 AM
wait what
@ricky.fm is giving a talk on React's new features
September 29, 2025 at 7:02 PM
Reposted by Ricky
banger
September 27, 2025 at 11:50 PM
cooking
September 27, 2025 at 2:30 PM