Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import React from 'react' import { Merge } from '../types' /** * 派生新的组件属性。 * * @template TComponent 原组件 * @template TExclude 需去除的属性 * @template TRef 新的 ref * @template TOverride 覆盖属性 */ export type DeriveComponentProps< TComponent extends | React.ComponentType | keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>, TExclude extends keyof React.ComponentProps<TComponent>, TRef extends any = never, TOverride extends Partial< Record<keyof React.ComponentProps<TComponent>, any> > = never > = Merge< Merge< Omit<React.ComponentProps<TComponent>, TExclude>, [TOverride] extends [never] ? {} : TOverride >, { ref?: React.Ref<TRef> } > |