2017-01-11 3 views
5

displayNameプロパティを追加して反応成分の名前を付けるのはit considered a good practiceですが、その理由はわかりません。反応文書では、反応成分 'displayName'とは何ですか?

と表示されます。displayName文字列は、メッセージのデバッグに使用されます。 JSXはこの値を自動的に設定します。詳細はJSXを参照してください。

なぜ重要ですか?私はそれを追加しない場合はどうなりますか? (これまで私はそれを持っていなかったし、デバッグの問題はなかった)

コンポーネントに名前を付ける方法に関する推奨事項や良い方法はありますか?

+1

コンポーネント名が表示されません、それはデバッグには難しいでしょう状態のために。しかし、Es6を使用してコンポーネント(拡張コンポーネント)を作成している場合、各コンポーネントに表示名を手動で追加する必要はありません。 –

答えて

8

私は常にdisplayNameに、私が割り当てる変数と同じ名前を設定しています。これは開発ビルドでのみ使用されます。これは、実動ビルドでのデッドコードの削除によって削除され、アプリケーション内では使用しないでください。

どこで使用されているかは、主に反応エラーメッセージ内です。このため、デバッグには価値があると言われています。名前を派生させることができない場合、エラーメッセージはデフォルトでComponentと表示されます。これは、プロジェクトに複数のコンポーネントがある場合、デバッグするのが非常に困難です。ここで

は反応ソースでのdisplayNameを参照するいくつかのエラーメッセージが表示されている:あなたは追加しない場合

Invalid Return

Inline style error

+0

実際にdisplayNameをどのように設定しますか?反応文書によると、コンポーネントの名前から推測されるようですが、非HOCに対して手動で設定する方法は述べていません。 – gabrielwr

+2

これは静的なプロパティです。最も速い方法は、それを直接設定することです。 'hoc.displayName =" hocName ";' – kwelch

関連する問題