react-grid-layout*.d.ts
のファイルを作成しようとしています。そのindex.jsファイルが示すように、関数をエクスポートします -呼び出されたのサブクラス:React.Component
ReactGridLayout
// react-grid-layout/index.js
module.exports = require('./build/ReactGridLayout').default;
module.exports.utils = require('./build/utils');
// ...
必須:
var ReactGridLayout = require('react-grid-layout');
console.log(ReactGridLayout);
// --> function ReactGridLayout(props , context) { ...
また、名前空間に分割された他のものもエクスポートします。
for (var f in ReactGridLayout) {
if (ReactGridLayout.hasOwnProperty(f)) {
console.log(f);
}
}
// --> utils
// ...
したがって、単一のエクスポートと複数のエクスポートを行います。
Typescript サイトとGitHub のこの宣言ファイルで説明されているモジュール内の単一の複合オブジェクトアプローチを試しましたが、あまり成功しませんでした。
アップデート
今のところ他のものを無視すると、私の定義はReactGridLayout
次のようになります。
// react-grid-layout.d.ts
declare module 'react-grid-layout' {
import * as React from 'react';
export default class ReactGridLayout<P,S> extends React.Component<P,S> {
containerHeight():void;
onWidthChange(width:number):void;
/* more methods here ... */
}
コンパイルします。ただし、次のような Javascript を生成します。
var react_grid_layout_1 = require('react-grid-layout');
React.createElement(react_grid_layout_1.default, null, ...
それがいつあるべきか:
React.createElement(react_grid_layout_1, null, ...