mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
6fef48096d
Summary: This diff adds the generated view config for View (in DEV) Reviewed By: ejanzer Differential Revision: D15780039 fbshipit-source-id: 1ec8ed1b57fd2341552746051980129848cb8e85
45 lines
1.4 KiB
JavaScript
45 lines
1.4 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.
|
|
*
|
|
* @format
|
|
* @flow
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const ReactNative = require('../../Renderer/shims/ReactNative');
|
|
const Platform = require('../../Utilities/Platform');
|
|
const registerGeneratedViewConfig = require('../../Utilities/registerGeneratedViewConfig');
|
|
const ReactNativeViewViewConfigAndroid = require('./ReactNativeViewViewConfigAndroid');
|
|
const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
|
|
|
|
import type {ViewProps} from './ViewPropTypes';
|
|
|
|
type ViewNativeComponentType = Class<ReactNative.NativeComponent<ViewProps>>;
|
|
|
|
let NativeViewComponent;
|
|
let viewConfig;
|
|
|
|
// Only use the JS view config in DEV
|
|
if (__DEV__) {
|
|
// On Android, View extends the base component with additional view-only props
|
|
// On iOS, the base component is View
|
|
if (Platform.OS === 'android') {
|
|
viewConfig = ReactNativeViewViewConfigAndroid;
|
|
registerGeneratedViewConfig('RCTView', ReactNativeViewViewConfigAndroid);
|
|
} else {
|
|
viewConfig = {};
|
|
registerGeneratedViewConfig('RCTView', {uiViewClassName: 'RCTView'});
|
|
}
|
|
|
|
NativeViewComponent = 'RCTView';
|
|
} else {
|
|
NativeViewComponent = requireNativeComponent('RCTView');
|
|
}
|
|
|
|
export const __INTERNAL_VIEW_CONFIG = viewConfig;
|
|
export default ((NativeViewComponent: any): ViewNativeComponentType);
|