@ types / react-data-grid如何更新为与react-data-grid仓库同步?

时间:2019-07-09 19:47:20

标签: reactjs typescript react-data-grid

React-Data-Grid仓库中,我看到了

export interface DataGridProps {

  columns: ColumnList;
  (...)
  rowRenderer?: React.ReactElement | React.ComponentType;
  rowGroupRenderer?: React.ComponentType;
  (...)

export default class ReactDataGrid extends React.Component<DataGridProps, DataGridState> { ... }

因此,在ReactDataGrid的定义中,我们看到了rowGroupRenderer道具的存在。

但是,该道具在软件包@types/react-data-grid中不可用。那里有一个名为GridProps的类型,但没有DataGridProps的类型。另外,此GridPropsGridProps存储库中Grid.tsx文件中导出的React-Data-Grid不对应。

@ types / data-grid-types中的类型如何更新?如何与项目保持同步?

1 个答案:

答案 0 :(得分:0)

在这种特定情况下,您无需使用@types,因为react-data-grid本身就是written in TypeScript,并且将其类型发布为npm软件包(您可以从types setting in its package.json看出)。因此,您应该能够删除@types/react-data-grid依赖性,并且实类型将自动从包本身中获取。

通常@types程序包托管在DefinitelyTyped repo中(@types/react-data-gridhere)。更新这些类型的软件包是一个手动过程,如果作者/维护者不关心TypeScript支持,则有时由软件包的用户来驱动。因此,如果您发现问题并有时间contribute a fix,那就太好了!

(关于react-data-grid为何有@types包的原因,即使它导出自己的类型,我猜也是“历史原因”,也许它最初是用JS编写并转换为TS在某个时候。)