Обертывание компонента функции при сохранении типов - PullRequest
0 голосов
/ 20 февраля 2019

Отказ от ответственности: я noob машинописи (и систем типов).

У меня есть существующий компонент со следующим интерфейсом:

interface IPropsInjectStoreState<S extends any = any, SS extends any = any> {
    store: Store<S>;
    on?: (state: S) => SS;
    children: (output: SS) => React.ReactElement;
}

Я хочу обернуть его ввспомогательный компонент, который автоматически предоставляет свойство хранилища.

const someStore = new Store<ISomeState>({ foo: 'bar' });

export const InjectSomeStoreState = ({ on, children }) => (
  <InjectStoreState store={someStore} on={on}>
    {injectedState => children(injectedState)}
  </InjectStoreState>
);

Каков наилучший способ предоставления типов для компонента InjectSomeStoreState, который использует существующий интерфейс IPropsInjectStoreState?

...