React代理组件传递Typescript道具

时间:2020-10-29 07:56:43

标签: reactjs typescript

我有下一个代码:

<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

谢谢

0 个答案:

没有答案