web-dev-qa-db-fra.com

La méthode de rendu d'un composant doit-elle avoir le type de retour React.ReactNode ou JSX.Element?

Les deux semblent n'entraîner aucune erreur de compilation, mais quelle est la différence et est-ce que l'un est préférable à l'autre?

13
xli

Ça dépend. ReactJS en principe peut rendre :

type RenderType = JSX.Element* | Array<RenderType> | string | number | boolean | null
// * includes Portal, Fragment
// for both function and class components
// (type doesn't exist in React type declarations)

Les types de rendu TS sont actuellement limités à :

JSX.Element est plus ou moins identique à ReactElement, vous pouvez utiliser les deux de manière interchangeable.

0
ford04