找不到名称 React$Node React Native
Posted
技术标签:
【中文标题】找不到名称 React$Node React Native【英文标题】:Cannot find name React$Node React Native 【发布时间】:2020-08-08 01:24:50 【问题描述】:我正在将 typescript 添加到我的 react-native 应用程序中,
在 App.tsx 中
我在 Cannot find name React$Node 上遇到此错误
const App: () => React$Node = () =>
...
【问题讨论】:
请接受对您问题的适当答案。 【参考方案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
]
【讨论】:
我刚刚查找了React$Node
- 它是Flow 类型。所以 TypeScript 对应的类型是ReactNode
(或者React.ReactNode
,如果你不导入它)。确保安装@types/react
和@types/react-native
。以上是关于找不到名称 React$Node React Native的主要内容,如果未能解决你的问题,请参考以下文章
Typescript - React 组件中的“找不到名称”错误
编译失败。 ./node_modules/react-dev-utils/formatWebpackMessages.js 找不到模块:无法解析
即使我在 node_modules 中看到私有 react-native 库也突然找不到
在 ../node_modules/react-native-stomp-websocket 中找不到 RNStompWS 的 podspec