React 深度學習:ReactSideEffectTags

path:packages/shared/ReactSideEffectTags.jside

React 反作用標記spa

源碼

export type SideEffectTag = number;

// Don't change these two values. They're used by React Dev Tools.
export const NoEffect = /* */ 0b000000000000;
export const PerformedWork = /* */ 0b000000000001;

// You can change the rest (and add more).
export const Placement = /* */ 0b000000000010;
export const Update = /* */ 0b000000000100;
export const PlacementAndUpdate = /* */ 0b000000000110;
export const Deletion = /* */ 0b000000001000;
export const ContentReset = /* */ 0b000000010000;
export const Callback = /* */ 0b000000100000;
export const DidCapture = /* */ 0b000001000000;
export const Ref = /* */ 0b000010000000;
export const Snapshot = /* */ 0b000100000000;
export const Passive = /* */ 0b001000000000;

// Passive & Update & Callback & Ref & Snapshot
export const LifecycleEffectMask = /* */ 0b001110100100;

// Union of all host effects
export const HostEffectMask = /* */ 0b001111111111;

export const Incomplete = /* */ 0b010000000000;
export const ShouldCapture = /* */ 0b100000000000;

複製代碼

遺留問題

爲何這些標記要使用二進制數表示?在 React 源碼中不少地方使用 |= 的運算符rest

相關文章
相關標籤/搜索