【发布时间】:2023-02-03 13:02:06
【问题描述】:
在下面的代码中,我怎样才能:
- 正确输入图标以便 React.createElement 可以创建它?
- 如果不使用 React.createElement() 渲染图标?
function DefaultIcon () { return <svg></svg>; } interface ExampleProps { icon?: React.ReactElement; // JSX.IntrinsicElements also errors } function Example({ icon = <DefaultIcon /> }: ExampleProps) { const Icon = icon; return ( <div> {React.createElement(icon)} {/* ^Shows Error #1 */} {React.createElement(icon as React.ReactElement<any>)} {/* ^Shows Error #1 */} <Icon /> {/* ^Shows Error #2 */} </div> ) }错误#1
No overload matches this call. The last overload gave the following error. Argument of type 'ReactElement<any, string | JSXElementConstructor<any>>' is not assignable to parameter of type 'string | FunctionComponent<any> | ComponentClass<any, any>'.ts(2769)错误 #2
JSX element type 'Icon' does not have any construct or call signatures.ts(2604)
【问题讨论】:
标签: reactjs typescript