リアクションでは、必要なプロンプトと必要なタイプを指定できます。未知の小道具名(例えば、propTypeに指定されていないもの)がコンポーネントに渡されたときに検証警告を表示する可能性はありますか?高次の成分は何もして冗長プロペラ検証に反応する
4
A
答えて
3
が可能です:
は// This is not a full solution, merely a sketch of one way to do it
const OnlyValidProps = WrappedComponent => {
return class extends React.Component {
render() {
const actualProps = Object.keys(this.props);
const expectedProps = Object.keys(WrappedComponent.propTypes);
const hasPropMisMatch = (
actualProps.length != expectedProps.length ||
!actualProps.every(key => expectedProps.contains(key))
);
if (hasPropMisMatch) {
console.warn(`Props mismatch! expected: ${expectedProps} actual: ${actualProps}`);
}
return <WrappedComponent {...this.props} />;
}
};
}
// Usage
OnlyValidProps(class MyClass extends React.Component {
static propTypes = {
x: React.PropTypes.number,
y: React.PropTypes.number
}
});
+0
も仕事継承しませんか? –
+0
コンポーネントを 'render'で返す前にどのようなメソッドを呼び出すか覚えておく必要がありますが、確かにそうです。 –
+0
私は、チェックを行い、サブクラスがそのレンダリングメソッドからsuper.renderを呼び出す、基本クラスにrenderメソッドを持つことを意味しました。私は本当にどちらかの方法でメリットがあるかどうか疑問に思っていました。 –
関連する問題
- 1. 日付オブジェクトの反復プロペラ検証
- 2. 証明書の冗長中間体の検証
- 3. メテオ反応検証パッケージ
- 4. フォームレス反応検証(サーバー応答)
- 5. 冗談 - Unknow "プリセット" - "冗談反応するネイティブ"
- 6. データエラー(巡回冗長検査)
- 7. 反応性フォームのカスタム検証
- 8. 角度2反応型+ディレクティブ検証
- 9. 冗長
- 10. 冗談で反応ネイティブibeaconを模倣するには
- 11. 巡回冗長検査の方法
- 12. 冗長コードチェック
- 13. MySQL冗長foreginkeys
- 14. AppFabric冗長性
- 15. 冗長MySQLインデックス?
- 16. 冗長ジェネリックパラメータは
- 17. 反応したネイティブのTextInput値を検証する方法は?
- 18. Modelicaで '冗長性'のような概念を検索する
- 19. 子どもの反応の中で小道具を操作するための冗長反応の方法は何ですか?
- 20. 冗長データをcassandraに格納する
- 21. プログラムに冗長性を追加する
- 22. 冗長スイッチケースステートメントのリファクタリング
- 23. 冗長性をロード
- 24. Pythonで冗長化
- 25. 削除冗長データ
- 26. php foreachループ冗長
- 27. 冗長コードを減らす
- 28. Haskell:パターンマッチングは冗長です
- 29. Cornice/Colander/Pyramidでの反応形式の検証
- 30. 1つのファイル内の複数の反応コンポーネントのPropType検証
https://facebook.github.io/react/docs/reusable-components.html – Maxwelll