reactのstateをmaterial-ui(TextField)のvalueに渡しTextFieldの値を変更し、かつ手打ちでも変更できるようにしたいのですがうまくいきません。
TextField value={state名}とするとstateが変更された時に表示も変わるのですが、そうすると手打ちでTextFieldに入力することができません。
TextField defaultValue={state名}とすると手打ちで変更できるのですが、今度はstateを変更しても表示が変わりません。
これらの両方(stateを更新した時にvalueを書き換え、かつinput要素を自由に書き換えられるよう)を実現するにはどのようにしたらよろしいでしょうか?
イメージとしては以下です。
javascript
1const [value, setValue] = useState(0); 2 3const change = () => { 4 setValue(value + 1) 5} 6 7// これだと表示は変わるが、inputに直接書き込めない 8return <TextField value={value} onChange={change}/>; 9 10// これだとstateが変わっても表示が変わらないがinputには書き込める 11return <TextField defaultValue={value} onChange={change}/>; 12 13
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/02 12:26
2020/12/02 14:13
2020/12/02 14:23
2020/12/02 14:23
2020/12/02 14:27
2020/12/02 15:03
2020/12/02 15:14