mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-23 03:50:11 +08:00
Summary: This adds a synchronous method that JS can call to load view managers. Notably, we don't have an exact way to go from a JS name to the native view manager, so this naively adds 'Manager' to the end. After lazily loading the view, it makes sure to cache all its values in native and JS, as further calls from JS will fail. Reviewed By: PeteTheHeat Differential Revision: D10204314 fbshipit-source-id: ebf42a85dcc467f3b4c5d6e18e49e04f9e8aa4f9
69 lines
2.1 KiB
JavaScript
69 lines
2.1 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow strict-local
|
|
* @format
|
|
*/
|
|
'use strict';
|
|
|
|
/**
|
|
* The list of non-ViewManager related UIManager properties.
|
|
*
|
|
* In an effort to improve startup performance by lazily loading view managers,
|
|
* the interface to access view managers will change from
|
|
* UIManager['viewManagerName'] to UIManager.getViewManager('viewManagerName').
|
|
* By using a function call instead of a property access, the UIManager will
|
|
* be able to initialize and load the required view manager from native
|
|
* synchronously. All of React Native's core components have been updated to
|
|
* use getViewManager(). For the next few releases, any usage of
|
|
* UIManager['viewManagerName'] will result in a warning. Because React Native
|
|
* does not support Proxy objects, a view manager access is implied if any of
|
|
* UIManager's properties that are not one of the properties below is being
|
|
* accessed. Once UIManager property accesses for view managers has been fully
|
|
* deprecated, this file will also be removed.
|
|
*/
|
|
module.exports = [
|
|
'clearJSResponder',
|
|
'configureNextLayoutAnimation',
|
|
'createView',
|
|
'dismissPopupMenu',
|
|
'dispatchViewManagerCommand',
|
|
'findSubviewIn',
|
|
'getConstantsForViewManager',
|
|
'getDefaultEventTypes',
|
|
'manageChildren',
|
|
'measure',
|
|
'measureInWindow',
|
|
'measureLayout',
|
|
'measureLayoutRelativeToParent',
|
|
'playTouchSound',
|
|
'removeRootView',
|
|
'removeSubviewsFromContainerWithID',
|
|
'replaceExistingNonRootView',
|
|
'sendAccessibilityEvent',
|
|
'setChildren',
|
|
'setJSResponder',
|
|
'setLayoutAnimationEnabledExperimental',
|
|
'showPopupMenu',
|
|
'updateView',
|
|
'viewIsDescendantOf',
|
|
'PopupMenu',
|
|
'LazyViewManagersEnabled',
|
|
'ViewManagerNames',
|
|
'StyleConstants',
|
|
'AccessibilityEventTypes',
|
|
'UIView',
|
|
'__takeSnapshot',
|
|
'takeSnapshot',
|
|
'getViewManagerConfig',
|
|
'measureViewsInRect',
|
|
'blur',
|
|
'focus',
|
|
'genericBubblingEventTypes',
|
|
'genericDirectEventTypes',
|
|
'lazilyLoadView',
|
|
];
|