У меня есть интерфейс, который принимает два явных общих параметра:
interface ConnectedComponent<TSelectors, TActions> {
selectors: TSelectors;
actions: TActions;
(props: SelectorProps<TSelectors> & ActionProps<TActions>): any;
}
И вот как я его использую:
let selectors = { ... };
let actions = { ... };
let Counter: ConnectedComponent<typeof selectors, typeof actions> = props => { ... };
Counter.selectors = selectors;
Counter.actions = actions;
Я бы предпочел сделать так, чтобывыведите родовые типы из назначенных свойств:
let Counter: ConnectedComponent = { ... };
Counter.selectors = { ... };
Counter.actions = { ... };
Однако я не знаю, как захватить typeof Counter.selectors
и typeof Counter.actions
внутри интерфейса.