2

TypeScript (tsx) で記述された新しいコンポーネントを、バニラの ES6 反応コンポーネント (jsx) で構成される既存のコードベースに追加しています。既存の jsx-components を tsx-component にインポートするときに、jsx-components の型定義を追加しています。

私の問題は、connect を使用して redux に接続されている jsx-component の型定義を追加する方法です。

既存の 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> {}
4

0 に答える 0