React-reconciler | FiberFlags (19.0.0)
Render, Commit phase에서 Fiber
가 어떤 작업을 해야하는지 나타냅니다.
react/packages/react-reconciler/src/ReactFiberFlags.js
export const NoFlags = /* */ 0b0000000000000000000000000000;
export const PerformedWork = /* */ 0b0000000000000000000000000001;
export const Placement = /* */ 0b0000000000000000000000000010;
export const DidCapture = /* */ 0b0000000000000000000010000000;
export const Hydrating = /* */ 0b0000000000000001000000000000;
export const Update = /* */ 0b0000000000000000000000000100;
export const Cloned = /* */ 0b0000000000000000000000001000;
export const ChildDeletion = /* */ 0b0000000000000000000000010000;
export const ContentReset = /* */ 0b0000000000000000000000100000;
export const Callback = /* */ 0b0000000000000000000001000000;
export const ForceClientRender = /* */ 0b0000000000000000000100000000;
export const Ref = /* */ 0b0000000000000000001000000000;
export const Snapshot = /* */ 0b0000000000000000010000000000;
export const Passive = /* */ 0b0000000000000000100000000000;
export const Visibility = /* */ 0b0000000000000010000000000000;
export const StoreConsistency = /* */ 0b0000000000000100000000000000;
export const ScheduleRetry = StoreConsistency;
export const ShouldSuspendCommit = Visibility;
export const DidDefer = ContentReset;
export const FormReset = Snapshot;
export const LifecycleEffectMask =
Passive |
Update |
Callback |
Ref |
Snapshot |
StoreConsistency;
export const HostEffectMask = /* */ 0b0000000000000111111111111111;
export const Incomplete = /* */ 0b0000000000001000000000000000;
export const ShouldCapture = /* */ 0b0000000000010000000000000000;
export const ForceUpdateForLegacySuspense = /* */ 0b0000000000100000000000000000;
export const DidPropagateContext = /* */ 0b0000000001000000000000000000;
export const NeedsPropagation = /* */ 0b0000000010000000000000000000;
export const Forked = /* */ 0b0000000100000000000000000000;
export const RefStatic = /* */ 0b0000001000000000000000000000;
export const LayoutStatic = /* */ 0b0000010000000000000000000000;
export const PassiveStatic = /* */ 0b0000100000000000000000000000;
export const MaySuspendCommit = /* */ 0b0001000000000000000000000000;
export const BeforeMutationMask: number =
Update |
Snapshot |
(enableCreateEventHandleAPI ? ChildDeletion | Visibility : 0);
export const MutationMask =
Placement |
Update |
ChildDeletion |
ContentReset |
Ref |
Hydrating |
Visibility |
FormReset;
export const LayoutMask = Update | Callback | Ref | Visibility;
export const PassiveMask = Passive | Visibility | ChildDeletion;
export const StaticMask = LayoutStatic | PassiveStatic | RefStatic | MaySuspendCommit;
NoFlags
- 초기 상태, 플래그가 설정되지 않은 상태입니다.
PerformedWork
- 작업이 완료 되었음을 나타냅니다.
Placement
- 컴포넌트가 새롭게 마운트될 때 배치해야 함을 나타냅니다.
DidCapture
- Error Boundary가 에러를 캡처했음을 나타냅니다.
Hydrating
- Hydration 중 임을 나타냅니다.
Update
- 상태나
props
업데이트가 필요함을 나타냅니다.
Cloned
Fiber
나 요소가 복제되었음을 나타냅니다.
ChildDeletion
- 자식
Fiber
를 삭제해야 함을 나타냅니다.
ContentReset
Fiber
가 초기화되어야 함을 나타냅니다.
Callback
- 콜백 함수가 실행되어야 함을 나타냅니다.
ForceClientRender
- 클라이언트 강제 렌더링을 나타냅니다.
Ref
- 참조를 업데이트하거나 관리하는 플래그입니다.
Snapshot
- 상태 스냅샷을 나타냅니다.
Passive
- side effect를 나타냅니다.
Visibility
Fiber
의 가시성 변경을 나타냅니다.
StoreConsistency
- 상태 관리의 일관성을 유지하기 위해 사용됩니다.
LifecycleEffectMask
- 생명주기(Lifecycle) 단계에서 실행되는 모든 사이드 이펙트의 집합입니다.
HostEffectMask
- 호스트 컴포넌트(DOM 요소)와 관련된 커밋 단계에서 실행되는 모든 플래그의 조합입니다.
Incomplete
- 작업이 완료되지 않았음을 나타냅니다.
ShouldCapture
- Error Boundary가 에러를 포착하여 처리해야 함을 나타냅니다.
ForceUpdateForLegacySuspense
- 레거시
Suspense
구현에서 강제로 업데이트를 트리거하도록 지정합니.
DidPropagateContext
- Context API에서 특정 Fiber가 해당 컨텍스트 변경을 상위에서 하위로 성공적으로 전파했음을 나타냅니다.
NeedsPropagation
- 컨텍스트 값이 하위 컴포넌트로 전달되어야 함을 나타냅니다.
Forked
- Concurrent Mode에서 트리가 병렬로 분기(fork)되어 동시적으로 처리하거나 특정 작업의 우선순위를 변경할 때 사용됩니다.
RefStatic
- Ref 속성을 포함하고 있음을 나타냅니다.
LayoutStatic
- 레이아웃 효과가 특정
Fiber
에서 실행되었거나 실행될 필요가 있을 때 사용됩니다.
MaySuspendCommit
- Suspense 및 비동기 업데이트와 관련된 작업이 커밋 단계에서 제대로 처리되도록 합니다.
BeforeMutationMask
- DOM 변경 작업 이전에 실행되어야 하는 효과들의 집합입니다.
MutationMask
- DOM에 실제 변경을 가하는 작업들의 집합입니다.
LayoutMask
- 레이아웃 단계에서 발생하는 작업들의 집합입니다.
PassiveMask
- DOM 업데이트 이후에 실행되는
useEffect
와 같은 수동(passive) 효과를 나타냅니다.
StaticMask
- 클론된 Fiber에서 초기화되지 않는 정적 플래그들의 집합입니다.