如何为现有的redux connected(jsx)组件创建一个打字稿定义文件(d.ts)?

时间:2018-03-27 09:12:31

标签: reactjs typescript redux jsx tsx

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

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

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

class DateField extends React.Component {
...
}

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

export default connect(mapStateToProps) (DateField);

此组件的typedefintion如何?

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

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 个答案:

没有答案