Я пытаюсь понять код при использовании машинописи в реагирующей таблице, и я сталкиваюсь с интерфейсами такого типа
export interface TableInstance<D extends object = {}>
extends Omit<TableOptions<D>, 'columns' | 'pageCount'>,
UseTableInstanceProps<D> {}
заметил, что эти два ключевых слова расширяются в интерфейсе. Экземпляр таблицы генерируется при вызове
export function useTable<D extends object = {}>(
options: TableOptions<D>,
...plugins: Array<PluginHook<D>>
): TableInstance<D>;
, после чего я могу получить доступ к свойствам TableInstance
, унаследованным от UseTableInstanceProps
Я пишу, говоря, что TableInstance
- это объект, который наследует свойства Omit
и UseTableInstanceProps
?
Что означает этот пропустить? Есть ли ресурсы, которые могут помочь мне понять этот синтаксис?
/**
* Construct a type with the properties of T except for those in type K.
*/
type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;