/
githubmr
/
facebook-react
Обзор
Документация
Войти
/
githubmr
/
facebook-react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-reconciler/src/ReactFiberStack.js
66 строк
1 KB
Ricky
[refactor] remove unused fiberstack functions (#33623)
24 июн 2025, 03:07
Не верифицирован
24 июн 2025, 03:07
12eaef7
Код
Авторство
О чём код?
/** * 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 */ import type {Fiber} from './ReactInternalTypes'; export type StackCursor<T> = {current: T}; const valueStack: Array<any> = []; let fiberStack: Array<Fiber | null>; if (__DEV__) { fiberStack = []; } let index = -1; function createCursor<T>(defaultValue: T): StackCursor<T> { return { current: defaultValue, }; } function pop<T>(cursor: StackCursor<T>, fiber: Fiber): void { if (index < 0) { if (__DEV__) { console.error('Unexpected pop.'); } return; } if (__DEV__) { if (fiber !== fiberStack[index]) { console.error('Unexpected Fiber popped.'); } } cursor.current = valueStack[index]; valueStack[index] = null; if (__DEV__) { fiberStack[index] = null; } index--; } function push<T>(cursor: StackCursor<T>, value: T, fiber: Fiber): void { index++; valueStack[index] = cursor.current; if (__DEV__) { fiberStack[index] = fiber; } cursor.current = value; } export {createCursor, pop, push};