
Joe Savona
@en_JS
Followers
12K
Following
15K
Media
12
Statuses
3K
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
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
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
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!
github.com
The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub.
6
46
372
We're thrilled to announce that @sethwebster @shrutikapoor08 @en_JS @zmofei @lydiahallie @jherr @lunaleaps will be speaking at React Conf 2025!
25
46
456
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
Call me old fashioned, but I believe that people convicted of violently attacking police officers belong in jail.
0
0
8
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
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...
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
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
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
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
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
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
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
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
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
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
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
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
Great thread answering questions about React Compiler. Couldn’t have said it better myself. Thanks Theo!
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