【发布时间】:2020-03-14 22:04:28
【问题描述】:
我有一个函数可以根据 prop 的类型有条件地呈现/返回字符串或动态组件:
const renderValue = (value: string | React.ReactNode) => {
if (React.isValidElement(value)) {
const Component = value
return <Component />
}
return value
}
但是,使用上面的代码,我从 Typescript 收到以下消息:
JSX 元素类型“组件”没有任何构造或调用 signatures.ts(2604)
【问题讨论】:
-
如果从 type 中删除 'string' 会发生什么?
-
你可以使用
return <value /> -
@kinduser 什么都没有发生。
-
@RaminRezazadeh 组件必须大写。
-
你有的看起来像一个功能组件,你的功能可以用作功能组件吗?
const RenderValue?
标签: javascript reactjs typescript