Skip to content

Commit 56b3544

Browse files
committed
wip
1 parent 5aa9d61 commit 56b3544

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

src/content/blog/2025/04/01/react-labs-what-we-have-been-working-on-april-2025.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ date: 2025/04/01
55
description: TODO
66
---
77

8-
April 1, 2025 by [Ricky Hanlon](https://twitter.com/rickhanlonii), Lauren Tan, Mofei Zhang, Jordan Eldredge, Jack Pope, Matt Carroll
8+
April 1, 2025 by [Ricky Hanlon](https://twitter.com/rickhanlonii), and [Matt Carroll](https://twitter.com/mattcarrollcode).
99

1010
---
1111

1212
<Intro>
1313

14-
In React Labs posts we write about projects in active research and development. We’ve made significant progress since [React Conf](/blog/2024/05/22/react-conf-2024-recap), including releasing [React 19](/blog/2024/12/05/react-19) and the [React Compiler beta](/blog/2024/10/21/react-compiler-beta-release), and we’d like to share what we’re working on now.
14+
In React Labs posts we write about projects in active research and development. In this post, we're sharing two new experimental features that are ready to try today, and updates on other areas we're working on now.
1515

1616
</Intro>
1717

@@ -33,13 +33,11 @@ Today, we're excited to release docs for three new experimental features ready f
3333

3434
We're also sharing updates on new features currently in development:
3535
- [React Performance Tracks](#react-performance-tracks)
36+
- [Compiler IDE Extension](#compiler-ide-extension)
3637
- [Automatic Effect Dependencies](#automatic-effect-dependencies)
3738
- [Fragment Refs](#fragment-refs)
38-
- [React Compiler](#react-compiler)
39-
- [IDE extension](#ide-extension)
4039
- [Concurrent stores](#concurrent-stores)
4140

42-
4341
---
4442

4543
# New Experimental Features {/*new-experimental-features*/}
@@ -12860,6 +12858,8 @@ root.render(
1286012858

1286112859
</Sandpack>
1286212860

12861+
---
12862+
1286312863
# Features in development {/*features-in-development*/}
1286412864

1286512865
## React Performance Tracks {/*react-performance-tracks*/}
@@ -12883,18 +12883,20 @@ There are a few known issues we plan to address such as performance, and the sch
1288312883

1288412884
Once we solve those issues, we'll publish experimental docs and share that it's ready to try.
1288512885

12886+
---
1288612887

12888+
## Compiler IDE Extension {/*compiler-ide-extension*/}
1288712889

12888-
## Compiler IDE Extension {/*ide-extension*/}
12889-
12890-
This week [we shared](/TODO) the React Compiler release candidate, and we're working towards shipping the first semver stable version of the compiler in the coming months.
12890+
Earlier this week [we shared](/blog/2025/04/21/react-compiler-rc) the React Compiler release candidate, and we're working towards shipping the first semver stable version of the compiler in the coming months.
1289112891

1289212892
We've also begun exploring ways to use the React Compiler to provide information that can improve understanding and debugging your code. One idea we've started exploring is a new experimental LSP-based React IDE extension powered by React Compiler, similar to the extension used in [Lauren Tan's React Conf talk](https://conf2024.react.dev/talks/5).
1289312893

1289412894
Our idea is that we can use the compiler's static analysis to provide more information, suggestions, and optimization opportunities directly in your IDE. For example, we can provide diagnostics for code breaking the Rules of React, hovers to show if components and hooks were optimized by the compiler, or a CodeLens to see [automatically inserted Effect dependencies](/#automatic-effect-dependencies).
1289512895

1289612896
The IDE extension is still an early exploration, but we'll share our progress in future updates.
1289712897

12898+
---
12899+
1289812900
## Automatic Effect Dependencies {/*automatic-effect-dependencies*/}
1289912901

1290012902
When we released hooks, we had three motivations:
@@ -12951,6 +12953,8 @@ With this code, the React Compiler can infer the dependecies for you and insert
1295112953

1295212954
Our hope is that automatically inserting dependies is not only easier to write, but that it also makes them easier to understand by forcing you to think in terms of what the effect does, and not in component lifecycles.
1295312955

12956+
---
12957+
1295412958
## Fragment Refs {/*fragment-refs*/}
1295512959

1295612960
Many DOM APIs like those for event management, positioning, and focus are difficult to compose when writing with React. This often leads developers to reach for Effects, managing multiple Refs, or APIs like `findDOMNode` (removed in React 19).
@@ -12959,6 +12963,8 @@ We are exploring adding refs to Fragments that would point to a group of DOM ele
1295912963

1296012964
Fragment refs are still being researched. We'll share more when we're closer to having the final API finished.
1296112965

12966+
---
12967+
1296212968
## Gesture Animations {/*gesture-animations*/}
1296312969

1296412970
We're also researching ways to enhance View Transitions to support gesture animations such as swiping to open a menu, or scroll through a photo carosel.
@@ -12971,6 +12977,8 @@ Gestures present new challenges for a few reasons:
1297112977

1297212978
We have an approach we believe will work well, which may introduce a new API to trigger gesture transitions, but we're currently focused on shipping `<ViewTransition>` and re-visit gestures after it ships.
1297312979

12980+
---
12981+
1297412982
## Concurrent stores {/*concurrent-stores*/}
1297512983

1297612984
When we released React 18 with concurrent rendering, we also released `useSyncExternalStore` so external store libraries that did not use React state or context could [support concurrent rendering](https://github.com/reactwg/react-18/discussions/70) by forcing a sync render when the store is updated.
@@ -12989,4 +12997,4 @@ This research is still early. We'll share more, and what the new APIs will look
1298912997

1299012998
---
1299112999

12992-
_TODO: Thanks_
13000+
_TODO: Thanks to [Dan Abramov](https://bsky.app/profile/danabra.mov), [Lauren Tan](https://bsky.app/profile/no.lol), [Jack Pope](https://jackpope.me), [Jason Bonta](https://threads.net/someextent), [Jordan Brown](https://github.com/jbrown215), [Jordan Eldredge](https://bsky.app/profile/capt.dev), and [Mofei Zhang](https://threads.net/z_mofei) for reviewing this post.

src/content/blog/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ You can also follow the [@react.dev](https://bsky.app/profile/react.dev) account
1414

1515
<BlogCard title="React Labs: What We've Been Working On – April 2025" date="April 1, 2025" url="/blog/2025/04/01/react-labs-what-we-have-been-working-on-april-2025">
1616

17-
In React Labs posts we write about projects in active research and development. We’ve made significant progress since React Conf, including releasing React 19 and the React Compiler beta, and we’d like to share what we’re working on now.
17+
In React Labs posts we write about projects in active research and development. In this post, we're sharing two new experimental features that are ready to try today, and sharing other areas we're working on now.
1818

1919
</BlogCard>
2020

0 commit comments

Comments
 (0)