Type de débit approprié pour la méthode de rendu React?
Je suis curieux de savoir ce que le bon Écoulement de l'annotation est pour les deux render
méthodes de Réagir classes, simple et return
s dans apatrides fonctions:
const UserProfilePage = () => {
return <div className="container page">
<UserProfileContainer />
</div>
};
En définissant le type de retour intentionnellement erronée (un certain nombre), j'ai eu cette erreur:
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
Donc, modifiant le code de ce qui semble satisfaire Flux:
const UserProfilePage = (): React$Element => {
return <div className="container page">
<UserProfileContainer />
</div>
};
Je me demande si c'est exact, et si oui, où cela est-il documenté?
source d'informationauteur ffxsam
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin pour annoter la méthode render, le Débit devrait être en mesure de déduire le type de sortie, car il sait ce qu'JSX desugars.
Flux intégré à Réagir interfaceoù tout ça est bien défini:
Et puis
Donc, si vous voulez formuler explicitement le type de retour d'une méthode de rendu, vous pouvez utiliser cette signature. Eh bien, peut-être sans un point d'interrogation à savoir si vous n'êtes pas retourner null. Vous ne savez pas si il n'y a aucun effet à l'omission de
<any>
.Selon Le flux de la documentation: Réagir: Type de Référencele type correct est
Réagir.Nœud
:Cependant, les exemples de la documentation en général de ne pas écrire le type de
render()
explicitement. Ils seulement écrireReact.Component
et le type des accessoires, comme ceci:C'est parce que l'extension de
React.Component
indique automatiquement le Flux de ce que l'render()
méthode doit renvoyer.