【问题标题】: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.ReactNodeReact.ReactElement。例如:

import React from 'react'

const App = (): React.ReactElement => { 

  return (
    // component code
  )
}

至于ReactNodeReactElement 之间的区别(因为我并不完全确定),我发现ford04 的answer 很有用——在此引用:

ReactElement 和 JSX.Element 是调用 React.createElement 的结果 直接或通过 JSX 转译。它是一个带有type 的对象, propskey。 [JSX.Element]

ReactNode 用作类组件中render() 的返回类型。它也是children 属性的默认类型 [PropsWithChildren]

【讨论】:

  • 我刚刚查找了React$Node - 它是Flow 类型。所以 TypeScript 对应的类型是ReactNode(或者React.ReactNode,如果你不导入它)。确保安装@types/react@types/react-native
猜你喜欢
  • 2023-01-05
  • 2020-04-27
  • 2020-02-08
  • 2018-07-25
  • 2022-08-02
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 2020-01-11
相关资源
最近更新 更多