Resolve react flow definitions

Summary:Currently, we're not taking advantage of Flow's built-in type definitions for the React library in all cases because Flow's definition uses `declare module react` and this file uses `import('React')`, which Flow thinks is a different library. After this change, the following starts working which didn't before:

```js
import { Component } from 'react-native';

class MyText extends Component<void, {text: string}, void> {
  render() { return <Text>{this.props.text}</Text> }
}

// Correctly throws a Flow error for the missing "text" prop
const renderedText = <MyText />;
```
Closes https://github.com/facebook/react-native/pull/5489

Differential Revision: D2856176

fb-gh-sync-id: 473ca188ad7d990c3e765526c4b33caf49ad9ffd
shipit-source-id: 473ca188ad7d990c3e765526c4b33caf49ad9ffd
This commit is contained in:
Kyle Corbitt
2016-02-25 02:44:58 -08:00
committed by facebook-github-bot-9
parent 6b80f11652
commit 2d921eeb70
22 changed files with 74 additions and 22 deletions

View File

@@ -84,6 +84,8 @@ class NotificationExample extends React.Component {
}
class NotificationPermissionExample extends React.Component {
state: any;
constructor(props) {
super(props);
this.state = {permissions: null};
@@ -126,7 +128,7 @@ exports.description = 'Apple PushNotification and badge value';
exports.examples = [
{
title: 'Badge Number',
render(): React.Component {
render(): ReactElement {
PushNotificationIOS.requestPermissions();
return (
@@ -145,13 +147,13 @@ exports.examples = [
},
{
title: 'Push Notifications',
render(): React.Component {
render(): ReactElement {
return <NotificationExample />;
}
},
{
title: 'Notifications Permissions',
render(): React.Component {
render(): ReactElement {
return <NotificationPermissionExample />;
}
}];