Reactjs TypeScript中的函数类型

Reactjs TypeScript中的函数类型,reactjs,typescript,react-native,Reactjs,Typescript,React Native,关于我的上一个问题: 如果我要传递此函数: const iconD = () => <span class='material-icons'>account_circle</span> 图标应具有什么类型的脚本 我已经试过了: type inputGroup = { icon: ReactElement | string class: string } 我仍然有这个错误: 您的图标应该是ReactElement,而不是返回ReactElement的函数

关于我的上一个问题:

如果我要传递此函数:

const iconD = () => <span class='material-icons'>account_circle</span>
图标应具有什么类型的脚本

我已经试过了:

type inputGroup = {
  icon: ReactElement | string
  class: string
}
我仍然有这个错误:


您的图标应该是
ReactElement
,而不是返回
ReactElement
的函数

替换

const iconD = () => <span class='material-icons'>account_circle</span>

您应该使用
ReactNode
,其定义如下:

type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
iconD
作为:

const iconD = <span className="material-icons">account_circle</span>

文本字段
不是一个
字符串
?我的问题是
图标
,而不是
。如果下面的答案有用,请单击向上投票按钮(▲) 如果有人回答了您的问题,请单击复选标记(✓) 接受它(一旦系统允许)。这样其他人就知道你得到了(足够的)帮助。还要看看用户是否坚持传递函数?应该使用什么类型?
const iconD=()=>account\u circle
@Ayaka
()=>ReactElement
?我已经尝试过了。但是出现了一条错误消息^message@Ayaka你确定你试过了吗?你的输入显示的是
ReactElement | string
而不是
()=>ReactElement
我试过了。但仍然不起作用。如果它必须使用
=()=>
这应该是什么类型?
图标:()=>ReactNode
同样,它取决于
iconD
可以接受什么值。请随时告诉我您想要分配给
iconD
的所有可能值。例如
const iconD=()=>…
const iconD=>null
const iconD=>“foo”
等?
type inputGroup = {
  icon: (() => ReactElement) | string
  class: string
}
type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
const iconD = <span className="material-icons">account_circle</span>
type inputGroup = {
  icon: ReactNode
  className: string
}
type inputGroup = {
  icon: () => JSX.Element
  class: string
}