xli*_*xli 7 typescript reactjs
两者似乎都不会导致编译错误,但是有什么区别,一个比另一个更可取吗?
这取决于。ReactJS 原则上可以 渲染:
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)
Run Code Online (Sandbox Code Playgroud)
TS 渲染类型目前仅限于:
JSX.Element
或多或少与 相同ReactElement
,您可以互换使用两者。
这个确切的问题在react-typescript-cheatsheet repo问题#57中提出
要引用原来的答案:
无论组件最终呈现什么内容,
React.createElement
都始终返回对象,该对象是JSX.Element
接口,但是React.ReactNode
组件所有可能的返回值的集合。
JSX.Element
->返回值React.createElement
React.ReactNode
->组件的返回值
通常,我认为这种想法是JSX.Element
专门描述的接口,React.createElement
范围狭窄,而范围React.ReactNode
更广,涵盖了组件可以返回的所有可能值。
归档时间: |
|
查看次数: |
1478 次 |
最近记录: |