Sono curioso quello che l'annotazione di portata adeguata è per entrambi i metodi in render
Reagire classi e semplici return
s in funzioni senza stato:Tipo di flusso corretto per il metodo di rendering React?
const UserProfilePage =() => {
return <div className="container page">
<UserProfileContainer />
</div>
};
Impostando il tipo di ritorno intenzionalmente errato (ad un numero), ho avuto questo errore:
8: return <div className="container page">
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ React element: `div`
8: return <div className="container page">
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ React$Element. This type is incompatible with the expected return type of
7: const UserProfilePage =(): number => {
^^^^^^ number
Quindi, cambiare il codice per questo sembra soddisfare flusso:
const UserProfilePage =(): React$Element => {
return <div className="container page">
<UserProfileContainer />
</div>
};
Mi chiedo se questo è corretto, e se sì, dove è documentato?
omettendo '' si tradurrà in un errore: 'applicazione dei bisogni di tipo polimorfici ' –
Come devo leggere questa sintassi: Reagire $ Element? non riuscivo a trovarlo dai documenti. – wcandillon
@wcandillon 'React $ Element' non è una sintassi speciale, è solo un nome di classe che contiene un segno di dollaro. Cercando attraverso il codebase di Flow, sembra che questo tipo sia trattato come qualsiasi altro tipo. Ho trovato solo una menzione qui: https://github.com/facebook/flow/blob/e1111f1a443ab5f0b9338b012ba7bc9dcaccf2c1/src/typing/react_kit.ml#L135 ma sfortunatamente non riesco a capire cosa stia facendo. – Nikita