[解決済み】TypeScriptのReactアプリケーションでPropTypesを使用する場合
2022-04-14 04:55:21
質問
を使用していますか?
React.PropTypes
それとも、quot;belt and suspenders"のケースなのでしょうか?
コンポーネントクラスは
Props
型パラメータを指定します。
interface Props {
// ...
}
export class MyComponent extends React.Component<Props, any> { ... }
を追加することの本当の利点は何ですか?
static propTypes {
myProp: React.PropTypes.string
}
をクラス定義に追加しますか?
解決方法は?
通常、コンポーネントのプロップをTypeScriptの型と
React.PropTypes
を同時に使用します。
ここでは、そうすることが有効なケースを紹介します。
- コンポーネントライブラリなど、プレーンなJavaScriptで使用するパッケージの公開。
- API呼び出しの結果などの外部入力を受け入れて渡すこと。
- 適切または正確な型付けが行われていない可能性のあるライブラリのデータを使用すること(もしあれば)。
つまり、通常はコンパイル時の検証をどこまで信用できるかが問題なのです。
新しいバージョンのTypeScriptでは、TypeScriptで指定した
React.PropTypes
(
PropTypes.InferProps
しかし、このような型は、コードの他の場所で使用したり参照したりするのが難しい場合があります。
関連
-
[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] プロップ `history` は `Router` で必須とマークされているが、その値は `undefined` である。
-
[解決済み] react-navigation v5を使ったreact-nativeアプリのAppNavigatorの構文を更新する。
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】ReactのPropTypes。1つのプロップに対して異なるタイプのPropTypesを許可する
-
[解決済み】Reactの機能的なステートレスコンポーネント、PureComponent、Component、どのような違いがあり、いつ何を使うべきですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】<Router>の外側で<Link>を使用してはならない
-
[解決済み】プリセットファイルはオブジェクトのエクスポートができない
-
[解決済み] FontAwesomeの無料パッケージに含まれているアイコンのオブジェクト名はどこにあるのですか?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] react - createMuiThemeとcreateThemeの違い。
-
[解決済み] React の open mailto E-Mail クライアントの onClick で textarea から本文を取得する。
-
[解決済み] ReactjsのEsLintの "react / jsx-props-no-spreading "エラーを無効化する。
-
[解決済み] アクシオスは定義されていません
-
[解決済み] create-react-appビルドスクリプトを実行する際に、ビルド.env変数を設定するには?
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。