制御された入力(Controlled Inputs)
CoddyのReactジャーニー「基本概念」セクションの一部 — レッスン 28/42。
テキスト入力には1つの問題が生じます。ユーザーがボックスに文字を入力しますが、コンポーネントも状態(state)を持っています。では、テキストを管理しているのはどちらでしょうか?Reactにおける答えは「stateが管理する」です。これは制御コンポーネント(controlled input)と呼ばれます。
const [name, setName] = useState('');
<input
value={name}
onChange={(e) => setName(e.target.value)}
/>2つのワイヤがループを作ります:
value={name}:ボックスは常に状態を表示しますonChange:キー入力ごとにボックスの現在のテキストであるe.target.valueを使用してセッターを呼び出します
そのため、入力すると状態(state)が更新され、状態が再レンダリングされ、テキストボックスに新しい状態が表示されます。このメリットは、テキストが変数内に存在するため、ページの他の場所で検証、変換、クリア、または表示できるようになることです。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。