You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/blog/2025/10/01/react-19-2.md
+52-39Lines changed: 52 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ This is our third release in the last year, following React 19 in December and R
21
21
22
22
---
23
23
24
-
## New Features {/*new-features*/}
24
+
## New React Features {/*new-react-features*/}
25
25
26
26
### `<Activity />` {/*activity*/}
27
27
@@ -54,41 +54,6 @@ For examples on how to use Activity, check out the [Activity docs](/reference/re
54
54
55
55
---
56
56
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:
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
-
92
57
### `useEffectEvent` {/*use-effect-event*/}
93
58
94
59
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 }) {
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.
135
102
136
103
<Note>
137
104
@@ -145,7 +112,53 @@ For a deep dive on how to think about Event Effects, see: [Separating Events fro
145
112
146
113
---
147
114
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:
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.
0 commit comments