@@ -179,6 +179,10 @@ export default {
179
179
// ^^^ true for this reference
180
180
// const [state, dispatch] = useReducer() / React.useReducer()
181
181
// ^^^ true for this reference
182
+ // const [state, dispatch] = useActionState() / React.useActionState()
183
+ // ^^^ true for this reference
184
+ // const [state, dispatch] = useFormState() / ReactDOM.useFormState()
185
+ // ^^^ true for this reference
182
186
// const ref = useRef()
183
187
// ^^^ true for this reference
184
188
// const onStuff = useEffectEvent(() => {})
@@ -232,10 +236,11 @@ export default {
232
236
return false ;
233
237
}
234
238
let callee = init . callee ;
235
- // Step into `= React.something` initializer.
239
+ // Step into `= React(DOM) .something` initializer.
236
240
if (
237
241
callee . type === 'MemberExpression' &&
238
- callee . object . name === 'React' &&
242
+ ( callee . object . name === 'React' ||
243
+ callee . object . name === 'ReactDOM' ) &&
239
244
callee . property != null &&
240
245
! callee . computed
241
246
) {
@@ -260,7 +265,12 @@ export default {
260
265
}
261
266
// useEffectEvent() return value is always unstable.
262
267
return true ;
263
- } else if ( name === 'useState' || name === 'useReducer' ) {
268
+ } else if (
269
+ name === 'useState' ||
270
+ name === 'useReducer' ||
271
+ name === 'useFormState' ||
272
+ name === 'useActionState'
273
+ ) {
264
274
// Only consider second value in initializing tuple stable.
265
275
if (
266
276
id . type === 'ArrayPattern' &&
0 commit comments