/
ashipov
/
react
Обзор
Документация
Войти
/
ashipov
/
react
Код
Запросы
0
Задачи 2.0
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
packages/react-native-renderer/src/ReactNativeComponentTree.js
52 строки
1 KB
Rubén Norte
Fix use of stale props in Fabric events (#26408)
17 мар 2023, 14:27
Не верифицирован
17 мар 2023, 14:27
108aed0
Код
Авторство
О чём код?
/** * 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. */ const instanceCache = new Map(); const instanceProps = new Map(); export function precacheFiberNode(hostInst, tag) { instanceCache.set(tag, hostInst); } export function uncacheFiberNode(tag) { instanceCache.delete(tag); instanceProps.delete(tag); } function getInstanceFromTag(tag) { return instanceCache.get(tag) || null; } function getTagFromInstance(inst) { let nativeInstance = inst.stateNode; let tag = nativeInstance._nativeTag; if (tag === undefined && nativeInstance.canonical != null) { // For compatibility with Fabric tag = nativeInstance.canonical.nativeTag; nativeInstance = nativeInstance.canonical.publicInstance; } if (!tag) { throw new Error('All native instances should have a tag.'); } return nativeInstance; } export { getInstanceFromTag as getClosestInstanceFromNode, getInstanceFromTag as getInstanceFromNode, getTagFromInstance as getNodeFromInstance, }; export function getFiberCurrentPropsFromNode(stateNode) { return instanceProps.get(stateNode._nativeTag) || null; } export function updateFiberProps(tag, props) { instanceProps.set(tag, props); }