ホームページ >ウェブフロントエンド >jsチュートリアル >React の制御コンポーネントと非制御コンポーネント
制御されたコンポーネント: state または props を介してフォーム要素の状態を制御する React コンポーネント。つまり、すべての状態の突然変異には、関連付けられたハンドラー関数があります。
特徴
import React, { useState } from 'react'; function ControlledForm() { const [value, setValue] = useState(''); const handleChange = (event) => { setValue(event.target.value); }; return ( <form> <input type="text" value={value} onChange={handleChange} /> </form> ); }
非制御コンポーネント: DOM 自体がフォーム要素の状態を処理する React コンポーネント。 React は内部的に自身の状態を保存する ref 経由で入力値にアクセスします。必要なときに ref を使用して DOM にクエリを実行し、現在の値を見つけます。これは従来の HTML に少し似ています。
特徴
import React, { useRef } from 'react'; function UncontrolledForm() { const inputRef = useRef(); const handleSubmit = (event) => { event.preventDefault(); alert('Input Value: ' + inputRef.current.value); }; return ( <form onSubmit={handleSubmit}> <input type="text" ref={inputRef} /> <button type="submit">Submit</button> </form> ); }
これは、管理されているコンポーネントと管理されていないコンポーネントの比較表です:
いつ使用するか
リアルタイム検証、入力書式設定、または即時フィードバックのために制御 - 。
Uncontrolled - ファイルのアップロードなどの単純なユースケースに使用されます。事前に入力されたフォーム値は頻繁に使用されないか、フォーム送信まで延期する必要があります。
以上がReact の制御コンポーネントと非制御コンポーネントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。