Fabric: Exposing `findShadowNodeByTag_DEPRECATED` to JavaScript
Summary: This allows to implement `findNodeHandle` in Fabric world (temporary). Reviewed By: zackargyle, JoshuaGross, mdvacca Differential Revision: D17175953 fbshipit-source-id: c88bd1c58608450812799d4ecb4a6bf2c027c5f3
This commit is contained in:
Родитель
79ef5f9b0f
Коммит
10fe41cc8c
|
@ -48,6 +48,7 @@ type Spec = {|
|
|||
onFail: () => void,
|
||||
onSuccess: MeasureLayoutOnSuccessCallback,
|
||||
) => void,
|
||||
+findShadowNodeByTag_DEPRECATED: (reactTag: number) => ?Node,
|
||||
|};
|
||||
|
||||
const FabricUIManager: ?Spec = global.nativeFabricUIManager;
|
||||
|
|
|
@ -525,6 +525,27 @@ jsi::Value UIManagerBinding::get(
|
|||
});
|
||||
}
|
||||
|
||||
if (methodName == "findShadowNodeByTag_DEPRECATED") {
|
||||
return jsi::Function::createFromHostFunction(
|
||||
runtime,
|
||||
name,
|
||||
1,
|
||||
[uiManager](
|
||||
jsi::Runtime &runtime,
|
||||
jsi::Value const &thisValue,
|
||||
jsi::Value const *arguments,
|
||||
size_t count) -> jsi::Value {
|
||||
auto shadowNode = uiManager->findShadowNodeByTag_DEPRECATED(
|
||||
tagFromValue(runtime, arguments[0]));
|
||||
|
||||
if (!shadowNode) {
|
||||
return jsi::Value::null();
|
||||
}
|
||||
|
||||
return valueFromShadowNode(runtime, shadowNode);
|
||||
});
|
||||
}
|
||||
|
||||
return jsi::Value::undefined();
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче