Передача реквизитов компоненту реагировать с начальной загрузкой с правильными типами в TypeScript - PullRequest
1 голос
/ 28 февраля 2020

Я использую пакет react-bootstrap в React и написан на TypeScript.

У меня есть компонент, который оборачивает компонент Button из react-bootstrap, и я хочу принять все реквизиты Button принимает (и, следовательно, базовый элемент HTML button также принимает, как и style) этот новый компонент, так что я могу передать их до Button.

Простой пример, пока типы не указаны:

import { Button } from 'react-bootstrap';

function WrapperButton(props) {
  const { children } = props;

  return <Button {...props}>{children}</Button>;
}

В react-bootstrap/Button.d.ts, <Button> объявлено с:

declare class Button<
  As extends React.ElementType = 'button'
> extends BsPrefixComponent<As, ButtonProps> {}

Но если я установлю props: BsPrefixComponent<'button', ButtonProps>, то это не не принимают атрибуты типа style и children.

Есть ли более подходящий тип, который я мог бы использовать для этого сценария?

...