
公式のReact.jsライブラリドキュメントのAdvanced Guidesセクションの一連の翻訳の継続。
PropTypes-Reactでの型チェック
アプリケーションが大きくなると、多数のタイプチェックエラーが発生する可能性があります。 一部のアプリケーションでは、 FlowやTypeScriptなどのJavaScript拡張機能を使用して、アプリケーション全体を型チェックできます。 ただし、使用しない場合、Reactは組み込みの型チェック機能を提供します。
コンポーネントのコンポーネントタイプチェック(props)を実行するには、コンポーネントクラスの特別なプロパティpropTypes
定義できます。
class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } } Greeting.propTypes = { name: React.PropTypes.string };
React.PropTypes
モジュールは、受信したデータの検証に使用できるバリデーターのセットをエクスポートします。 この例では、 React.PropTypes.string
バリデーターを使用します。 無効な値がプロパティに渡されると、JavaScriptコンソールに警告が表示されます。 パフォーマンスのために、 propTypes
は開発モードでのみチェックされます。
React.PropTypes
この例では、サポートされているさまざまなバリデーターが実装されています。
MyComponent.propTypes = {
単一の子制約
React.PropTypes.element
を使用してReact.PropTypes.element
1つの子のみをコンポーネントに渡すことができるという制限を課すことができます。
class MyComponent extends React.Component { render() {
デフォルトのプロパティ値
コンポーネントクラスの特別なプロパティdefaultProps
定義することprops
、 props
デフォルト値を定義できます。
class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } }
この例では、JSXコンポーネントで定義されていない場合、 defaultProps
値を使用してthis.props.name
を設定します。 propTypes
型検証はpropTypes
から値を設定した後に実行されるため、 defaultProps
から値を設定する場合にも型チェックが適用されます。
次の部分:
前の部分:
ソース: React-上級ガイド-PropTypesによる型チェック