Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为Typescript组件中的renderAs属性设置的正确类型?_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript 为Typescript组件中的renderAs属性设置的正确类型?

Javascript 为Typescript组件中的renderAs属性设置的正确类型?,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,组件有时需要能够呈现为不同的HTML元素,具体取决于其上下文。例如,此卡组件 从“React”导入React; 导出类型道具={ 类名?:字符串, 伦德拉斯:有吗 } export const Card:React.FC=功能卡({renderAs,className,children}){ 常量元素=渲染; 返回( {儿童} ) } 在实际使用该组件时,所有组件都按预期工作: 。。。 ... 但是我不确定,对于这个用例,如果使用renderAs:any是正确的类型,我将非常感谢您对此的一些

组件有时需要能够呈现为不同的HTML元素,具体取决于其上下文。例如,此
组件

从“React”导入React;
导出类型道具={
类名?:字符串,
伦德拉斯:有吗
}
export const Card:React.FC=功能卡({renderAs,className,children}){
常量元素=渲染;
返回(
{儿童}
)
}
在实际使用该组件时,所有组件都按预期工作:

。。。
...
但是我不确定,对于这个用例,如果使用
renderAs:any
是正确的类型,我将非常感谢您对此的一些见解


提前谢谢你

您要传递的实际类型是
React.ElementType
,离开

export type Props = {
    className?: string,
    renderAs: React.ElementType
}

您这样说的意思是希望将
renderAs
设置为一些固有的JSX元素,例如
section
div
span

这回答了你的问题吗?我想是的,但我恐怕没有足够的经验把它应用到我的情况中去。如果我读对了,我必须自己添加一个新类型?不幸的是,这与我使用它的方式不兼容。也许当你这样定义它的时候,你必须用不同于我描述它的方式来使用它。我在这里做了一个简单的实现:。注意,我想当然地认为,
CartCard
是一个打字错误,实际上应该是
Card
。我说的不对吗?谢谢!这一切都正常工作,我以前只是有错误,但现在一切正常,谢谢:)