Joe Savona Profile
Joe Savona

@en_JS

Followers
12K
Following
15K
Media
12
Statuses
3K

React team at Meta

Joined April 2007
Don't wanna be here? Send us removal request.
@en_JS
Joe Savona
17 days
I'm really curious for feedback about React Compiler's error messages. Do people prefer very short ESLint-style messages ("can't do X") w no context/information, or informational messages with more information? Example:
5
0
6
@AmericanStorie3
American Stories Network
8 days
Tactical brands are welcome on our TV network. Celebrity hosted military & LE challenges showcase your products like never before. Find out how.
0
0
4
@en_JS
Joe Savona
3 months
We've been pretty happy with TypeScript for React Compiler, but actual pattern matching (with exhaustiveness checking by default!) is so good it makes me want to port to Flow:
flow.org
match an input value against a series of patterns, which conditionally check the structure of the input and extract values, and either produce an expression (match expressions) or execute a block...
3
8
73
@en_JS
Joe Savona
3 months
For compiler nerds: a writeup of the core inference rules and approach that React Compiler uses to decide which groups of instructions to memoize together. If something isn't clear let me know!
Tweet card summary image
github.com
The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub.
6
46
372
@reactjs
React
3 months
We're thrilled to announce that @sethwebster @shrutikapoor08 @en_JS @zmofei @lydiahallie @jherr @lunaleaps will be speaking at React Conf 2025!
Tweet media one
25
46
456
@en_JS
Joe Savona
7 months
The thing I loved about Create React App was that you could quickly install, hack on a single component, and quickly see changes. It was a great way to learn React. *All of the frameworks we recommend provide that exact experience*. Install, hack on the root component, iterate.
3
0
27
@en_JS
Joe Savona
8 months
Call me old fashioned, but I believe that people convicted of violently attacking police officers belong in jail.
0
0
8
@en_JS
Joe Savona
10 months
19rc1 is out with a new feature, sibling pre-rendering, that is the best of both behaviors. Amazing work by @acdlite and @sebmarkbage to implement this feature and @rickhanlonii, Jack Pope, and the rest of the team for verifying and rolling it out
Tweet card summary image
github.com
Summary I'm creating this issue to continue the discussion that spawned in the already merged PR (#26380) Several community members have raised concerns about this change and it has gained trac...
@en_JS
Joe Savona
1 year
Some thoughts on the suspense changes from 19 RC. Most important: our bad. We got this one wrong, and we heard and sincerely appreciate your feedback. We'll hold the 19 release until we find a good fix.
4
30
235
@en_JS
Joe Savona
1 year
So: we're working on changes to get feedback from y'all earlier. We're exploring a number of ideas including evolving our previous working groups and RFC process. We will definitely also re-evaluate canary to ensure that more developers can try out changes & new features earlier.
3
2
73
@en_JS
Joe Savona
1 year
We also don't want to privilege established players at the expense of making it hard for new libraries/frameworks/educators/voices to emerge. Rushing into a fix could backfire and lead us down the wrong path.
2
0
40
@en_JS
Joe Savona
1 year
This is harder than it seems (always is) because of the size of our community & many ways people use React. We need to balance info overload while getting a diverse, representative set of feedback.
1
0
33
@en_JS
Joe Savona
1 year
Stepping back: there are a few things going on here. We need to continue flushing out our story for client data fetching. But there are many great options in this space that support the render-as-you-fetch pattern: more important is getting feedback from the community earlier.
2
0
38
@en_JS
Joe Savona
1 year
The result was that we didn't get the feedback until the 19 RC. Our changelog did call this out (could have called it out more prominently, to be fair), and that's how folks knew to test the behavior. Once we heard the feedback we quickly discussed, leading to where we are.
2
0
39
@en_JS
Joe Savona
1 year
Where things went wrong is the next step. We hoped that we'd get feedback via the canary release, which has included this change for many months. But during that time period we've also learned that the canary channel isn't easy enough to consume and few were testing with canary.
2
0
45
@en_JS
Joe Savona
1 year
We extensively discussed the tradeoffs of this change. We knew it could regress in a specific scenario: apps with many lazy-fetching children in a single Suspense boundary. We thought this case was uncommon enough (wrong in hindsight). We decided to ship and get feedback.
2
0
38
@en_JS
Joe Savona
1 year
When using this pattern, it was inefficient to try to render other siblings of a suspended child, since we would have to show the fallback in either case. So for React 19 we changed to show the fallback right away, then render again once a child un-suspends.
2
0
37
@en_JS
Joe Savona
1 year
We regularly analyze performance of React apps, and found that this behavior was inefficient in apps that were using the render-as-you-fetch paradigm. In this approach you fetch in eg a route handler, and then suspend if this data isn't ready yet in render.
1
2
36
@en_JS
Joe Savona
1 year
What happened? The behavior change affected a specific case: a <Suspense> boundary with multiple children that suspend. In 18, React wouldn't stop rendering at the first suspending child. It would continue pre-rendering siblings.
1
0
38
@en_JS
Joe Savona
1 year
Some thoughts on the suspense changes from 19 RC. Most important: our bad. We got this one wrong, and we heard and sincerely appreciate your feedback. We'll hold the 19 release until we find a good fix.
12
70
603
@en_JS
Joe Savona
1 year
Great thread answering questions about React Compiler. Couldn’t have said it better myself. Thanks Theo!
@theo
Theo - t3.gg
1 year
Clearing up some React Compiler misunderstandings 1. “React Compiler is written in Rust!” There’s a WIP branch that Joe made to experiment with a Rust implementation. It’s VERY early and AFAIK can’t even be used right now, just meant to show it’s possible
2
3
59