TypeScript和...休息,选择,排除,哦,我的

时间:2019-07-12 14:24:44

标签: reactjs typescript

我希望能够创建React组件的Props类型,以使其具有它呈现的“核心” HTML元素的所有属性,但允许我的组件覆盖其中的一些道具。在图片/代码中:

illustration

KeyedProcessFunction的代码完成中可以看出,它实现了Combined属性的并集,但是我希望它仅是onChange而不是{{1} }。

我该如何告诉TS编译器?

1 个答案:

答案 0 :(得分:0)

import { FormEventHandler } from 'react'
type Prop = { a: number; onChange: () => number }
type Other = { b: string; onChange: FormEventHandler }
type Combined = Prop & Omit<Other, keyof Prop>
function x(c: Combined) {
  return c.onChange() // => number
}