【问题标题】:Cannot find name React$Node React Native找不到名称 React$Node React Native
【发布时间】:2020-08-08 01:24:50
【问题描述】:
我正在将 typescript 添加到我的 react-native 应用程序中,
在 App.tsx 中
我在 Cannot find name React$Node 上遇到此错误
const App: () => React$Node = () => {
...
}
【问题讨论】:
标签:
reactjs
typescript
react-native
typescript-typings
【解决方案1】:
我不确定您使用的语法,也不确定React$Node 的来源。根据我的经验,正确的输入和语法应该是React.ReactNode 或React.ReactElement。例如:
import React from 'react'
const App = (): React.ReactElement => {
return (
// component code
)
}
至于ReactNode 和ReactElement 之间的区别(因为我并不完全确定),我发现ford04 的answer 很有用——在此引用:
ReactElement 和 JSX.Element 是调用 React.createElement 的结果
直接或通过 JSX 转译。它是一个带有type 的对象,
props 和 key。 [JSX.Element]
ReactNode 用作类组件中render() 的返回类型。它也是children 属性的默认类型
[PropsWithChildren]