2016-05-29 11 views
2

私は定義されたプロトタイプを持つReactコンポーネントのライブラリを持っており、Typescriptに切り替えることを検討しています。コードの移植に役立つツールはありますか?ここでは単純なコンポーネントのための小道具のセットの例である:jsxをtsxに変換しますか?

static propTypes = { 
    active: PropTypes.bool, 
    children: PropTypes.node, 
    disabled: PropTypes.bool, 
    icon: Icon.propTypes.kind, 
    tabIndex: PropTypes.number 
    }; 

私のようなものにこれを変換しますツール想像しています:

interface IButtonProps { 
    active: boolean, 
    children: node, 
    disabled: boolean, 
    icon: Icon, 
    tabIndex: number 
} 

ない書くことがあまりにもハードを、すでに存在していればいいだろう。

+1

class MyComponent extends React.Component { static propTypes = { prop1: React.PropTypes.string.isRequired, prop2: React.PropTypes.number, }; constructor() { super(); this.state = { foo: 1, bar: 'str' }; } render() { return ( <div> {this.state.foo}, {this.state.bar}, {this.state.baz} </div> ); } onClick() { this.setState({ baz: 3 }); } } 

は、次のtypescriptですファイルに変換されますか? –

答えて

0

コード

ハズレポートを支援する任意のツールはあります。手動で作成するか、anyを使用してクイックスタートしてください。

0

react-javascript-to-typescript-transformパッケージを使用すると、React JSXを自動的にTypescript TSXに変換できます。

コードは、CLIを介して変換することができます。

react-js-to-ts reactFile.js 

次の例は、プロジェクトのWebサイトから取得したものです。標準反応成分、例えば、簡単な正規表現についての選択のあなたのIDEに代わる何

type MyComponentProps = { 
prop1: string; 
prop2?: number; 
}; 

type MyComponentState = { 
foo: number; 
bar: string; 
baz: number; 
}; 

class MyComponent extends React.Component<MyComponentProps, MyComponentState> { 
constructor() { 
    super(); 
    this.state = { foo: 1, bar: 'str' }; 
} 
render() { 
    return (
     <div> 
      {this.state.foo}, {this.state.bar}, {this.state.baz} 
     </div> 
    ); 
} 
onClick() { 
    this.setState({ baz: 3 }); 
} 
} 
関連する問題