RCTSafeAreaView (#23006)

Summary:
Part of #22990

Changelog:
----------

[iOS] [Changed] - Create individual `RCTSafeAreaViewNativeComponent` JS file from `SafeAreaView` with flow typing.
Pull Request resolved: https://github.com/facebook/react-native/pull/23006

Reviewed By: TheSavior

Differential Revision: D13690683

Pulled By: rickhanlonii

fbshipit-source-id: 7928fabf0264a6269a41148432f604e82d9b3920
This commit is contained in:
Maxime Nory 2019-01-16 12:31:47 -08:00 committed by Facebook Github Bot
parent eb171d272d
commit 28230939c9
2 changed files with 32 additions and 3 deletions

View File

@ -0,0 +1,25 @@
/**
* 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
*/
const requireNativeComponent = require('requireNativeComponent');
import type {ViewProps} from 'ViewPropTypes';
import type {NativeComponent} from 'ReactNative';
type NativeProps = $ReadOnly<{|
...ViewProps,
emulateUnlessSupported?: boolean,
|}>;
type RCTSafeAreaViewNativeType = Class<NativeComponent<NativeProps>>;
module.exports = ((requireNativeComponent(
'RCTSafeAreaView',
): any): RCTSafeAreaViewNativeType);

View File

@ -11,7 +11,6 @@
const Platform = require('Platform');
const React = require('React');
const View = require('View');
const requireNativeComponent = require('requireNativeComponent');
import type {ViewProps} from 'ViewPropTypes';
@ -39,10 +38,15 @@ if (Platform.OS === 'android') {
}
};
} else {
const RCTSafeAreaView = requireNativeComponent('RCTSafeAreaView');
const RCTSafeAreaViewNativeComponent = require('RCTSafeAreaViewNativeComponent');
exported = class SafeAreaView extends React.Component<Props> {
render(): React.Node {
return <RCTSafeAreaView emulateUnlessSupported={true} {...this.props} />;
return (
<RCTSafeAreaViewNativeComponent
emulateUnlessSupported={true}
{...this.props}
/>
);
}
};
}