如何定义传递的组件必须具有某些道具,但也允许额外的道具

Tom*_*Tom 8 javascript reactjs flowtype

我正在传递一个组件作为道具.

这定义如下.

export type TableProps<T> = {
  contents: T[],
  loadContents: () => Promise<T[]>
};
Run Code Online (Sandbox Code Playgroud)

这样工作正常,但我想更新这个定义说,至少应该存在道具,但允许额外的道具.

有没有我可以用来做这个的定义.例如,我想要一个具有以下签名的组件被接受.

type Props = {
  onChangeMark: (val: string) => void,
  ...TableProps<Attendance>
};
Run Code Online (Sandbox Code Playgroud)

我已经尝试将它们定义为界面,但它们仍然被拒绝.

interface TableProps<T> {
  contents: T[],
  loadContents: () => Promise<T[]>
};
Run Code Online (Sandbox Code Playgroud)

更新

我认为这说明了我有Link的问题

更新2

@Rajesh的解决方案似乎没有用,在这里尝试

Raj*_*esh 3

你可以尝试这样的事情:

interface IDummy {
  value: string;
  propName: string;
  [key: string]: any;
}
Run Code Online (Sandbox Code Playgroud)

这样做的目的是,它将强制您传递对象中的valuepropName属性,但您可以拥有任何其他属性。

样本