У меня есть общий c редуктор, тип возвращаемого значения которого TableState.
const reducerFactory = ..... = (): TableState => ....
TableState:
interface TableState {
filters: Filter;
data: TableData;
isLoading: boolean;
}
Каждый компонент, использующий эту фабрику редуктора реализует TableState. Например,
interface SalesReportState implements TableState {
someCommonField: string;
}
Сборка приложения завершается неудачно, поскольку типы не совпадают. Я мог бы сделать someCommonField?: string;
, но someCommonField должен быть обязательным.
Существует ли функция Typescript, которая возвращает тип, просто проверяет , если тип таблицы реализует состояние таблицы? Таким образом, тип возвращаемого значения должен быть некоторого типа, который гарантирует, что это экземпляр TableState, а не тип TableState.