2017-06-26 8 views
0

Dies ist wirklich Dokument-less über Verwendungstypen in React oder React Native.Flussart für React-Element

Ich fand, dass ein Elementtyp wäre React$Element<any> in der render() function. Also versuche ich dies in meinem Code:

// @flow 
import React from 'react'; 
import { Text } from 'react-native'; 

function greetingTextNode(string: string): React$Element<any> { 
    return (
    <Text>Greeting, { string }.</Text> 
) 
} 

aber es zeigt einen flowtype Fehler in der Konsole:

20:  <Text>Greeting, { string }.</Text> 
     ^^^^^^ Text. This type is incompatible with 
97: type _ReactClass<DefaultProps, Props, Config: $Diff<Props, DefaultProps>, C: React$Component<DefaultProps, Props, any>> = Class<C>; 
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ React$Component. See lib: /private/tmp/flow/flowlib_243350bf/react.js:97 

Wie kann ich die Bewegungsart für ein Element reagiert korrekt?

Antwort

0

Versuchen:

function greetingTextNode(str: string): React.Element<*> { 
    return (
    <Text>Greeting, { str }.</Text> 
) 
} 

Sie das richtige Konzept hatte, einfach nicht die richtige Syntax

+0

Warum mit '*', 'nicht any' im generischen Typ? –

+0

mit '*' weist Flow an, den Typ abzuleiten. https://flow.org/en/docs/types/utilities/#toc-the-existential-type – evanflash

Verwandte Themen