1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @format
- * @flow
- * @providesModule WKWebView
- */
-
- import React from 'react';
-
- import { requireNativeComponent } from 'react-native';
-
- import type {DataDetectorTypes} from './WebViewTypes';
-
- const RCTWKWebView = requireNativeComponent('RCTWKWebView');
-
- type RCTWKWebViewProps = $ReadOnly<{|
- allowsInlineMediaPlayback?: ?boolean,
- mediaPlaybackRequiresUserAction?: ?boolean,
- dataDetectorTypes?:
- | ?DataDetectorTypes
- | $ReadOnlyArray<DataDetectorTypes>,
- |}>;
-
- class WKWebView extends React.Component<RCTWKWebViewProps> {
- componentWillReceiveProps(nextProps: RCTWKWebViewProps) {
- this.showRedboxOnPropChanges(nextProps, 'allowsInlineMediaPlayback');
- this.showRedboxOnPropChanges(nextProps, 'mediaPlaybackRequiresUserAction');
- this.showRedboxOnPropChanges(nextProps, 'dataDetectorTypes');
- }
-
- showRedboxOnPropChanges(nextProps: RCTWKWebViewProps, propName: string) {
- if (this.props[propName] !== nextProps[propName]) {
- console.error(`Changes to property ${propName} do nothing after the initial render.`);
- }
- }
-
- render() {
- return <RCTWKWebView {...this.props} />;
- }
- }
-
- module.exports = WKWebView;
|