2016-12-09 3 views
3

私たちは、コードのかなりの箇所で使用しているパラメータセット(パラメータタイプ、デフォルト/最小/最大値、説明など)を管理する(TypeScript)クラスを持っています。 私たちのGUIではReactを使い始めました。私たちが構築しているコンポーネントの1つは、本質的に何らかのパラメータプロパティパネルです。私のコンポーネントの小道具では、カスタムParameterSetクラスを使用したいと考えています。小道具にカスタムクラスを含めることはできますか?

これは機能しますか?または小道具は単純なタイプである必要がありますか? Reactは、小道具が単純な型よりも複雑なカスタムクラスを含んでいるときに、正しく機能しなくなる内部のことをしますか?

+0

propsは単なるオブジェクトです。あなたがそれを与えるものは何でも入れることができます。ここには魔法はありません – Rob

+0

そのため、小道具をチェックしている内部の特定のアクションはありません(たとえば、変更された場合など)。 –

答えて

0

@Robがコメントしたように、小道具は何でも保存できます。無名の名前付き参照を持つことができるオブジェクトのように見なければなりません。

することはできvalidate their types(必要に応じ)、開発中のアプリを実行しているときに、これらのタイプが正しいかどうかを知るようになる:

MyComponent.propTypes = { 
    element: React.PropTypes.element.isRequired, 
} 

あなたは、変更を監視することができますリアクト参照lifecycle

componentWillReceiveProps(newProps) { 
    // handle props change 
} 
+0

確認、ありがとう! 私はTypeTextを使って作業するときにpropTypesが実際には必要ではないことをどこかに読んだと思います。また、独自のParameterSetクラスは他のチェック自体も追加します。 –

+0

@KoenT_IM私はあなたが正しいと信じています。特に、propypeの検証は生産中でも機能しないでしょう。 https://github.com/Microsoft/TypeScript/issues/4833#issuecomment-141040237 – zurfyx

関連する問題