displayName
プロパティを追加することで反応コンポーネントに名前を付けることは それが良い習慣と考えられている であることは知っていますが、理由はわかりません。反応ドキュメントでは、それは言う:
DisplayName文字列は、デバッグメッセージで使用されます。 JSXはこの値を自動的に設定します。 JSXの詳細を参照してください。
なぜそんなに重要なのですか?追加しないとどうなりますか? (これまで私はそれを持っていなかったし、デバッグの問題はありませんでした)
コンポーネントの命名方法に関する推奨事項/グッドプラクティスはありますか?
私は常にdisplayName
を割り当てている変数と同じ名前に設定しています。これは、開発ビルドでのみ使用されます。これは、本番ビルドでのデッドコードの除去によって削除され、アプリケーション内で使用しないでください。
使用場所については、主にリアクションエラーメッセージング内にあります。これがデバッグに価値があると言われている理由です。名前を導出できない場合、プロジェクトに複数のコンポーネントがある場合、エラーメッセージはデフォルトでComponent
と表示され、デバッグが非常に困難になります。
次に、反応ソースのdisplayNameを参照するいくつかのエラーメッセージを示します。
この記事は私を助けました:
class CardGroup extends Component {
render() {
return (
<div>{this.props.children}</div>
)
}
}
CardGroup.propTypes = {
children: function (props, propName, componentName) {
const prop = props[propName]
let error = null
React.Children.forEach(prop, function (child) {
if (child.type !== Card) {
error = new Error('`' + componentName + '` children should be of type `Card`.');
}
})
return error
}
}