Skip to content

Commit 2d87f90

Browse files
committed
tweaks
1 parent f840858 commit 2d87f90

File tree

1 file changed

+52
-39
lines changed

1 file changed

+52
-39
lines changed

src/content/blog/2025/10/01/react-19-2.md

Lines changed: 52 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This is our third release in the last year, following React 19 in December and R
2121

2222
---
2323

24-
## New Features {/*new-features*/}
24+
## New React Features {/*new-react-features*/}
2525

2626
### `<Activity />` {/*activity*/}
2727

@@ -54,41 +54,6 @@ For examples on how to use Activity, check out the [Activity docs](/reference/re
5454

5555
---
5656

57-
### Performance Tracks {/*performance-tracks*/}
58-
59-
React 19.2 adds a new set of [custom tracks](https://developer.chrome.com/docs/devtools/performance/extension) to Chrome DevTools performance profiles to provide more information about the performance of your React app:
60-
61-
<div style={{display: 'flex', justifyContent: 'center', marginBottom: '1rem'}}>
62-
<picture >
63-
<source srcset="/images/blog/react-labs-april-2025/perf_tracks.png" />
64-
<img className="w-full light-image" src="/images/blog/react-labs-april-2025/perf_tracks.webp" />
65-
</picture>
66-
<picture >
67-
<source srcset="/images/blog/react-labs-april-2025/perf_tracks_dark.png" />
68-
<img className="w-full dark-image" src="/images/blog/react-labs-april-2025/perf_tracks_dark.webp" />
69-
</picture>
70-
</div>
71-
72-
The [React Performance Tracks docs](/reference/dev-tools/react-performance-tracks) explain everything included in the tracks, but here is a high-level overview.
73-
74-
#### Scheduler ⚛ {/*scheduler-*/}
75-
76-
The Scheduler track shows what React is working on for different priorities such as "blocking" for user interactions, or "transition" for updates inside startTransition. Inside each track, you will see the type of work being performed such as the event that scheduled an update, and when the render for that update happened.
77-
78-
We also show information such as when an update is blocked waiting for a different priority, or when React is waiting for paint before continuing. The Scheduler track helps you understand how React splits your code into different priorities, and the order it completed the work.
79-
80-
See the [Scheduler track](/reference/dev-tools/react-performance-tracks#scheduler) docs to see everything included.
81-
82-
#### Components ⚛ {/*components-*/}
83-
84-
The Components track shows the tree of components that React is working on either to render or run effects. Inside you'll see labels such as "Mount" for when children mount or effects are mounted, or "Blocked" for when rendering is blocked due to yielding to work outside React.
85-
86-
The Component track helps you understand when components are rendered or run effects, and the time it takes to complete that work to help identify performance problems.
87-
88-
See the [Component track docs](/reference/dev-tools/react-performance-tracks#components) for see everything included.
89-
90-
---
91-
9257
### `useEffectEvent` {/*use-effect-event*/}
9358

9459
One common pattern with `useEffect` is to notify the app code about some kind of "events" in an external system. For example, a chat room may get connected, and you might want to display a notification when that happens:
@@ -127,11 +92,13 @@ function ChatRoom({ roomId, theme }) {
12792
});
12893
connection.connect();
12994
return () => connection.disconnect();
130-
}, [roomId]); // ✅ All dependencies declared
95+
}, [roomId]); // ✅ All dependencies declared (Effect Events aren't dependencies)
13196
// ...
13297
```
13398
134-
Similar to DOM events, Effect Events always "see" the latest props and state. They should not be declared in the dependency array. They can only be declared in the same component or Hook, which is verified by the linter.
99+
Similar to DOM events, Effect Events always “see” the latest props and state.
100+
101+
Effect Events should _not_ be declared in the dependency array. They can only be declared in the same component or Hook as "their" Effect. These restrictions are verified by the linter.
135102
136103
<Note>
137104
@@ -145,7 +112,53 @@ For a deep dive on how to think about Event Effects, see: [Separating Events fro
145112
146113
---
147114
148-
### Partial Pre-render Support {/*partial-prerender-support*/}
115+
### Performance Tracks {/*performance-tracks*/}
116+
117+
React 19.2 adds a new set of [custom tracks](https://developer.chrome.com/docs/devtools/performance/extension) to Chrome DevTools performance profiles to provide more information about the performance of your React app:
118+
119+
<div style={{display: 'flex', justifyContent: 'center', marginBottom: '1rem'}}>
120+
<picture >
121+
<source srcset="/images/blog/react-labs-april-2025/perf_tracks.png" />
122+
<img className="w-full light-image" src="/images/blog/react-labs-april-2025/perf_tracks.webp" />
123+
</picture>
124+
<picture >
125+
<source srcset="/images/blog/react-labs-april-2025/perf_tracks_dark.png" />
126+
<img className="w-full dark-image" src="/images/blog/react-labs-april-2025/perf_tracks_dark.webp" />
127+
</picture>
128+
</div>
129+
130+
The [React Performance Tracks docs](/reference/dev-tools/react-performance-tracks) explain everything included in the tracks, but here is a high-level overview.
131+
132+
#### Scheduler ⚛ {/*scheduler-*/}
133+
134+
The Scheduler track shows what React is working on for different priorities such as "blocking" for user interactions, or "transition" for updates inside startTransition. Inside each track, you will see the type of work being performed such as the event that scheduled an update, and when the render for that update happened.
135+
136+
We also show information such as when an update is blocked waiting for a different priority, or when React is waiting for paint before continuing. The Scheduler track helps you understand how React splits your code into different priorities, and the order it completed the work.
137+
138+
See the [Scheduler track](/reference/dev-tools/react-performance-tracks#scheduler) docs to see everything included.
139+
140+
#### Components ⚛ {/*components-*/}
141+
142+
The Components track shows the tree of components that React is working on either to render or run effects. Inside you'll see labels such as "Mount" for when children mount or effects are mounted, or "Blocked" for when rendering is blocked due to yielding to work outside React.
143+
144+
The Component track helps you understand when components are rendered or run effects, and the time it takes to complete that work to help identify performance problems.
145+
146+
See the [Component track docs](/reference/dev-tools/react-performance-tracks#components) for see everything included.
147+
148+
---
149+
150+
## New React DOM Features {/*new-react-dom-features*/}
151+
152+
### `resume` {/*resume*/}
153+
154+
We're adding new APIs to support partial pre-rendering for SSR:
155+
156+
- `resume`
157+
- `resumeToPipeableStream`
158+
- `resumeAndPrerender`
159+
- `resumeAndPrerenderToNodeStream`
160+
161+
Additionally, the prerender apis now return a `postpone` state to pass to the `resume` apis.
149162
150163
---
151164

0 commit comments

Comments
 (0)