Permalink
Browse files

call into native FabricUIManager from JS

Reviewed By: mdvacca

Differential Revision: D6945104

fbshipit-source-id: ac66c6105c0d18bef003cdd08d06dbb49c61e669
  • Loading branch information...
fkgozali authored and facebook-github-bot committed Feb 9, 2018
1 parent 2d35bde commit fa0ac92b2c9cfc302314ff18325a96354bb1f432
Showing with 51 additions and 3 deletions.
  1. +50 −2 Libraries/ReactNative/FabricUIManager.js
  2. +1 −1 Libraries/Renderer/ReactFabric-dev.js
@@ -12,5 +12,53 @@
*/
'use strict';
// TODO @sema Fix me
module.exports = {};
// TODO: fix the types
type Node = number;
type NodeSet = number;
type NodeProps = {};
type Spec = {|
+createNode: (
reactTag: number,
viewName: string,
rootTag: number,
props: NodeProps,
instanceHandle: number,
) => Node,
+cloneNode: (node: Node) => Node,
+cloneNodeWithNewChildren: (node: Node) => Node,
+cloneNodeWithNewProps: (node: Node, newProps: NodeProps) => Node,
+cloneNodeWithNewChildrenAndProps: (node: Node, newProps: NodeProps) => Node,
+appendChild: (parentNode: Node, child: Node) => Node,
+appendChildToSet: (childSet: NodeSet, child: Node) => void,
+completeRoot: (rootTag: number, childSet: NodeSet) => void,
|};
const NativeFabricUIManager: Spec = require('NativeModules').FabricUIManager;
const FabricUIManager: Spec = {
createNode(
reactTag: number,
viewName: string,
rootTag: number,
props: NodeProps,
instanceHandle: number,
): number {
return NativeFabricUIManager.createNode(
reactTag,
viewName,
rootTag,
props,
0, // TODO: instanceHandle is cannot be JSON serialized.
);
},
cloneNode: NativeFabricUIManager.cloneNode,
cloneNodeWithNewChildren: NativeFabricUIManager.cloneNodeWithNewChildren,
cloneNodeWithNewProps: NativeFabricUIManager.cloneNodeWithNewProps,
cloneNodeWithNewChildrenAndProps:
NativeFabricUIManager.cloneNodeWithNewChildrenAndProps,
appendChild: NativeFabricUIManager.appendChild,
appendChildToSet: NativeFabricUIManager.appendChildToSet,
completeRoot: NativeFabricUIManager.completeRoot,
};
module.exports = FabricUIManager;
@@ -4718,7 +4718,7 @@ var enableMutatingReconciler = true;
// Experimental noop mode (currently unused):
var enableNoopReconciler = false;
// Experimental persistent mode (Fabric):
var enablePersistentReconciler = false;
var enablePersistentReconciler = true;
// Helps identify side effects in begin-phase lifecycle hooks and setState reducers:
var debugRenderPhaseSideEffects = false;

0 comments on commit fa0ac92

Please sign in to comment.