我有下一个代码:
<ComponentsResolver activeReolverId='someId'}>
<TenantsList resolverId='addChildren' isReadOnly />
</ComponentsResolver>
这是ComponentResolver的实现
const ComponentsResolver: FC<ComponentsResolverProps> = ({
children,
activeResolverId,
...other
}) => {
const child = React.Children.toArray(children).find(
child => child.props.resolverId === activeResolverId
)
return (child && React.cloneElement(child, { ...other })) || null
}
实际上,我可以将任何组件作为子元素传递给ComponentsResolver
,而我只需要为resolverId
添加每个子元素ComponentsResolver
即可解决显示的问题,但是TS指出{ {1}}在子组件中不存在,这是事实,如何才能在此处正确创建TS道具,以便不向每个子道具中添加resolverId
?
谢谢