Reactで生成したinputタグにonChangeイベントを追加したいです。
やりたいことは
1.「追加する」ボタンを押すとmoneyInputという変数のinputタグが生成
2.moneyInputタグに数字が入力されたらgetMoneyというstateに値が動的に格納される
という処理です。
上記の機能を実装するために以下のコードを書いたのですが、inputに入力した途端に入力した内容がconsoleに表示されるのではなく、入力後、適当なところをマウスでクリックするとconsoleに表示されます。
どうすれば入力直後にconsoleに表示されるようになりますか?
何卒、よろしくお願いします。
import { useState } from "react"; export const Game = () => { const [getMoney, setGetMoney] = useState(null); const getMoneyInput = (e) => { setGetMoney(() => e.target.value); }; const createInput = () => { let moneyInput = document.createElement("input"); moneyInput.setAttribute("type", "number"); moneyInput.setAttribute("placeholder", "金額を入力してください"); moneyInput.setAttribute("class", "moneyInput"); moneyInput.onchange = getMoneyInput; document.querySelector(".game").appendChild(moneyInput); }; console.log(getMoney); return ( <div className="game"> <button type="button" onClick={() => createInput()}> 追加する </button> </div> ); };
まだ回答がついていません
会員登録して回答してみよう