我正在编写一个tab组件,该组件导出2个组件,旨在以某种方式使用:
<Tabs>
<Tab title='Tab 1' panel={<div>Foo</div>}/>
<Tab title='Tab 2' panel={<div>Bar</div>}/>
</Tabs>
我需要使用React.cloneElement
向我的逻辑中的每个子代注入一些额外的道具,但是我特别不想在我的TS界面中将它们作为可用的道具公开,如下所示:
export interface TabProps {
panel: React.ReactNode
title: string
}
反正有这样做吗?我可以在界面中添加[key: string]: any
,但这并不是一个非常优雅的解决方案。