I'm adding typescript to my react-native app,
in App.tsx
I'm getting this error on Cannot find name React$Node on
const App: () => React$Node = () => {
...
}
I'm adding typescript to my react-native app,
in App.tsx
I'm getting this error on Cannot find name React$Node on
const App: () => React$Node = () => {
...
}
I'm unsure of the syntax you're using, and not sure where React$Node
comes from. From my experience, the correct typing and syntax should be React.ReactNode
or React.ReactElement
. For example:
import React from 'react'
const App = (): React.ReactElement => {
return (
// component code
)
}
As for the difference between ReactNode
and ReactElement
(because I wasn't entirely sure), I found ford04's answer useful - quoted here:
ReactElement and JSX.Element are the result of invoking
React.createElement
directly or via JSX transpilation. It is an object withtype
,props
andkey
. [JSX.Element
]ReactNode is used as return type for
render()
in class components. It also is the default type forchildren
attribute with [PropsWithChildren
]