2017-05-24 8 views
0

typescriptですと反応するクラスコンポーネントを定義するための推奨方法は、状態の種類として、ボイドを使用している場合、私は思ったんだけど:反応成分クラスを状態なしで定義する適切な方法は何ですか?

class MyComponent extends React.Component<any, void> { 
    constructor(props) { 
     super(props); 
     // The typescript compiler won't allow this using void type 
     // this.state = {...} 
    [...] 
} 

あなたがお勧めか、より良い方法を知っていますか?

注:私は状態の種類としてvoid使用する

+0

このようにコンポーネントを定義すると何が問題になりますか? –

+0

それは大丈夫ですが、私は公式の方法のいくつかの種類を探していた –

答えて

1

そのは完全に合法ライフサイクルメソッドが必要になりますので、コンポーネントはクラスでなければなりません。私はクラスに基づいてステートレスなコンポーネントのための "公式の"推奨事項を見ていないが、(これはあなたがより安全に感じるようになる場合)このアプローチは、あまり小さいものではないprojectsによって使用されます。

voidの代わりに{}を使用できますが、何かを状態に割り当てることはできません。

neverと指定することもでき、voidと同じ結果を得ているようです。

+0

あなたの答えに感謝!私は決してタイプしないことを聞いた、私はそれを試みる。私は概念的に空白より優れているかどうかわからない。 –

+0

私の個人的な好みは、あなたの意図をより良く「記述する」ように 'void'を使うことです。 – Amid

関連する問題