質問編集履歴
4
setStateの値変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
|
6
6
|
イメージとしては以下です。
|
7
7
|
```javascript
|
8
|
-
const [value, setValue] = useState(
|
8
|
+
const [value, setValue] = useState(0);
|
9
9
|
|
10
10
|
const change = () => {
|
11
|
-
setValue(
|
11
|
+
setValue(value + 1)
|
12
12
|
}
|
13
13
|
|
14
14
|
// これだと表示は変わるが、inputに直接書き込めない
|
3
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,8 +10,12 @@
|
|
10
10
|
const change = () => {
|
11
11
|
setValue("fuga")
|
12
12
|
}
|
13
|
+
|
14
|
+
// これだと表示は変わるが、inputに直接書き込めない
|
13
15
|
return <TextField value={value} onChange={change}/>;
|
16
|
+
|
14
|
-
// これだと表示
|
17
|
+
// これだとstateが変わっても表示が変わらないがinputには書き込める
|
15
18
|
return <TextField defaultValue={value} onChange={change}/>;
|
16
|
-
|
19
|
+
|
20
|
+
|
17
21
|
```
|
2
コード例の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
reactのstateをmaterial-ui(TextField)のvalueに渡しTextFieldの値を変更し、かつ手打ちでも変更できるようにしたいのですがうまくいきません。
|
2
2
|
TextField value={state名}とするとstateが変更された時に表示も変わるのですが、そうすると手打ちでTextFieldに入力することができません。
|
3
3
|
TextField defaultValue={state名}とすると手打ちで変更できるのですが、今度はstateを変更しても表示が変わりません。
|
4
|
-
これらの両方(stateを更新した時にvalueを書き換え、かつinput要素を自由に書き換えられるよう)を実現するにはどのようにしたらよろしいでしょうか?
|
4
|
+
これらの両方(stateを更新した時にvalueを書き換え、かつinput要素を自由に書き換えられるよう)を実現するにはどのようにしたらよろしいでしょうか?
|
5
|
+
|
6
|
+
イメージとしては以下です。
|
7
|
+
```javascript
|
8
|
+
const [value, setValue] = useState("hoge");
|
9
|
+
|
10
|
+
const change = () => {
|
11
|
+
setValue("fuga")
|
12
|
+
}
|
13
|
+
return <TextField value={value} onChange={change}/>;
|
14
|
+
// これだと表示は変わるが、inputに直接書き込めない
|
15
|
+
return <TextField defaultValue={value} onChange={change}/>;
|
16
|
+
// これだとstateが変わっても表示が変わらないがinputには書き込める
|
17
|
+
```
|
1
タグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|