[解決済み] Reactの制御型コンポーネントと非制御型コンポーネントとは?
2022-04-20 14:41:59
質問
ReactJSの制御型コンポーネントと非制御型コンポーネントとは何ですか?それぞれどのように違うのですか?
どのように解決するのですか?
これはステートフルなDOMコンポーネント(フォーム要素)に関するもので、Reactのドキュメントにその違いが説明されています。
-
A
制御されたコンポーネント
によって現在の値を取得するものです。
props
のようなコールバックで変更を通知します。onChange
. 親コンポーネントは、コールバックを処理し、自身の状態を管理し、新しい値をプロップとして被コントロールコンポーネントに渡すことによって、それを "controls" します。これをquot;dumb component"と呼ぶこともできます。 -
A
制御不能なコンポーネント
は、内部的に自身の状態を保存しているもので、DOM への問い合わせは
ref
を使用して、必要なときに現在の値を見つけることができます。これは従来のHTMLに少し似ています。
ほとんどのネイティブReactフォームコンポーネントは、制御された使用法と制御されていない使用法の両方をサポートしています。
// Controlled:
<input type="text" value={value} onChange={handleChange} />
// Uncontrolled:
<input type="text" defaultValue="foo" ref={inputRef} />
// Use `inputRef.current.value` to read the current value of <input>
ほとんどの場合(あるいはすべての場合)において を使用すると、制御されたコンポーネントを使用する必要があります。 .
関連
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] Reactのこの3つの点は何をするところなのでしょうか?
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] 親メソッドから子メソッドを呼び出す
-
[解決済み] ReactJSでコンポーネントがtext型の非制御入力を制御エラーに変更する場合
-
[解決済み] Reactのstateとpropsの違いとは?
-
[解決済み] React - 制御不能な入力を変更する
-
[解決済み】 {this.props.children} に props を渡すには?}
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] React.createElement: type is invalid -- expected a string.
-
[解決済み] ReactJS giving error Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
[解決済み] Next.jsでWebSocketを利用する
-
[解決済み] React + TypeScript のエラーです。この呼び出しにマッチするオーバーロードがありません
-
[解決済み] リアクトです。<tr>は<td>の子として表示できません。コメント > td > tr を参照してください。
-
[解決済み] ReactコンポーネントのJest SnapshotテストにおけるSnapshotテストの仕組みとtoMatchSnapshot()関数は何をするのか?
-
[解決済み] React Router - バージョン更新後のwithRouterでTypescriptエラーが発生する。
-
[解決済み] create-react-appビルドスクリプトを実行する際に、ビルド.env変数を設定するには?
-
[解決済み] React JSXのforEach()でHTMLが出力されない
-
[解決済み] react-selectでデフォルト値を設定する方法