如何为现有的 redux 连接 (jsx) 组件创建typescript定义文件 (d.ts)?

IT技术 reactjs typescript redux jsx tsx
2022-07-12 23:27:37

我正在将用 TypeScript(tsx) 编写的新组件添加到由 vanilla ES6 react components(jsx) 组成的现有代码库中。将现有的 jsx 组件导入 tsx 组件时,我正在为 jsx 组件添加类型定义。

我的问题是如何为使用 connect 连接到 redux 的 jsx 组件添加类型定义

假设我有一个现有的 jsx 组件:

class DateField extends React.Component {
...
}

function mapStateToProps(state) {
  return {
    locale: state.systemUser.language.langKey
  };
}

export default connect(mapStateToProps) (DateField);

这个组件的类型定义会是什么样子?

注意:如果没有连接,我会编写如下类型定义:

import * as React from 'react';
import * as moment from "moment";

export type IonDateFieldChange = (value: string | Date | moment.Moment) => void;
export interface IDateFieldProps {
  value: string | Date | moment.Moment
  onChange?: IonDateFieldChange
  placeholder?: string
}
declare class DateField extends React.Component<IDateFieldProps,any> {}
0个回答
没有发现任何回复~