/// <summary> /// Handles a call to <see cref="UIManagerModule.updateView(int, string, Newtonsoft.Json.Linq.JObject)"/>. /// If a view transitions from being layout-only to not (or vice versa) /// this could result in some number of additional create view or /// manage children calls. If the view is layout only, no update view /// call will be dispatched to the native hierarchy. /// </summary> /// <param name="node">The node.</param> /// <param name="className">The class name.</param> /// <param name="props">The props.</param> public void HandleUpdateView(ReactShadowNode node, string className, JObject props) { #if DISABLE_NATIVE_VIEW_HIERARCHY_OPTIMIZER _uiViewOperationQueue.EnqueueUpdateProps(node.ReactTag, className, props); #else var needsToLeaveLayoutOnly = node.IsLayoutOnly && !IsLayoutOnlyAndCollapsible(props); if (needsToLeaveLayoutOnly) { TransitionLayoutOnlyViewToNativeView(node, props); } else if (!node.IsLayoutOnly) { _uiViewOperationQueue.EnqueueUpdateProps(node.ReactTag, className, props); } #endif }