今回は、Reactでinputやformで入力されたテキストの情報を取得する方法を解説します。
Reactで入力値を取得するには、コンポーネントの状態(state)を使用します。
考え方は、要素が変更されたタイミングでstateの更新を行い、必要なタイミングで対応するstateを取得するといった流れになります。
本記事の内容は書籍「これからはじめるReact実践入門」を参考にしています。
リンク
ソースコード
inputタグでのテキストの取得
まずはinputタグに入力されたテキストの情報を取得する方法の解説です。
ソースコードの概要は冒頭の説明通りです。
19行目の「onChange」イベントで変更されるタイミングでtextの変数に対応するstateを随時更新しています。
そして、更新された「text」変数をボタンクリック時に取得するといった流れになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import React, { useState } from 'react'; root.render( <MyInput /> ); function MyInput() { const [text, setText] = useState(""); const readText = () => { alert(text) } return ( <> 入力: <input type="text" value={text} onChange={(e) => setText(e.target.value)} /> <p /> <button onClick={readText}>クリック!</button> </> ); } |
formタグでのテキストの取得
次にinputタグに入力されたテキストの情報を取得する方法の解説です。
コードの書き方はほぼすべて同じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import React, { useState } from 'react'; root.render( <MyForm /> ); function MyForm() { const [text, setText] = useState(""); const readText = () => { alert(text) } return ( <> <form> <label> 入力: <input type="text" size="20" onChange={(e) => setText(e.target.value)}/> </label> </form> <p /> <button onClick={readText}>クリック!</button> </> ); } |
まとめ
今回は、Reactでinputやformで入力されたテキストの情報を取得する方法を解説しました。
Reactの学習を始めたばかりだと、データの取得方法も少し特徴的で悩みますよね。
本記事が少しでも参考になれば幸いです。
本記事の内容は書籍「これからはじめるReact実践入門」を参考にしています。
リンク