mirror of
https://github.com/facebook/react.git
synced 2026-02-26 06:35:39 +00:00
## Summary
We see recent bug reports like #25755 and #25769 for devtools. Whenever
a component uses hook `useEffect`, it triggers an error.
This was introduced in #25663 when we try to keep the `ReactFiberFlags`
numbers consistent with reconciler, in order to fix an issue with server
components.
However, the values of `ReactFiberFlags` in reconciler were actually
changed a while ago in
b4204ede66
We made this mistake because, although it's not mentioned in the
comment, `DidCapture` and `Hydrating` are actually used by DevTools
This caused
- the latest (not stable) react version is broken on devtools before
4.27.0 (but only in uncommon cases such server components)
- all earlier react versions are broken on latest devtools (4.27.0)
To keep most versions work, we need to revert the commit that changed
the `ReactFiberFlags` values
## How did you test this change?
1. add a `useEffect` in a component in the TodoList of the shell,
trigger the error in devtools
2. after change, the error is gone
18 lines
768 B
JavaScript
18 lines
768 B
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
// This list of flags must be synced with the following file:
|
|
// https://github.com/facebook/react/blob/main/packages/react-reconciler/src/ReactFiberFlags.js
|
|
|
|
export const NoFlags = /* */ 0b000000000000000000000000000;
|
|
export const PerformedWork = /* */ 0b000000000000000000000000001;
|
|
export const Placement = /* */ 0b000000000000000000000000010;
|
|
export const DidCapture = /* */ 0b000000000000000000010000000;
|
|
export const Hydrating = /* */ 0b000000000000001000000000000;
|