質問編集履歴

4

setStateの値変更

2020/12/02 14:58

投稿

hello_space
hello_space

スコア24

test CHANGED
File without changes
test CHANGED
@@ -12,13 +12,13 @@
12
12
 
13
13
  ```javascript
14
14
 
15
- const [value, setValue] = useState("hoge");
15
+ const [value, setValue] = useState(0);
16
16
 
17
17
 
18
18
 
19
19
  const change = () => {
20
20
 
21
- setValue("fuga")
21
+ setValue(value + 1)
22
22
 
23
23
  }
24
24
 

3

書式の改善

2020/12/02 14:58

投稿

hello_space
hello_space

スコア24

test CHANGED
File without changes
test CHANGED
@@ -22,12 +22,20 @@
22
22
 
23
23
  }
24
24
 
25
- return <TextField value={value} onChange={change}/>;
25
+
26
26
 
27
27
  // これだと表示は変わるが、inputに直接書き込めない
28
28
 
29
- return <TextField defaultValue={value} onChange={change}/>;
29
+ return <TextField value={value} onChange={change}/>;
30
+
31
+
30
32
 
31
33
  // これだとstateが変わっても表示が変わらないがinputには書き込める
32
34
 
35
+ return <TextField defaultValue={value} onChange={change}/>;
36
+
37
+
38
+
39
+
40
+
33
41
  ```

2

コード例の追加

2020/12/02 14:01

投稿

hello_space
hello_space

スコア24

test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,29 @@
5
5
  TextField defaultValue={state名}とすると手打ちで変更できるのですが、今度はstateを変更しても表示が変わりません。
6
6
 
7
7
  これらの両方(stateを更新した時にvalueを書き換え、かつinput要素を自由に書き換えられるよう)を実現するにはどのようにしたらよろしいでしょうか?
8
+
9
+
10
+
11
+ イメージとしては以下です。
12
+
13
+ ```javascript
14
+
15
+ const [value, setValue] = useState("hoge");
16
+
17
+
18
+
19
+ const change = () => {
20
+
21
+ setValue("fuga")
22
+
23
+ }
24
+
25
+ return <TextField value={value} onChange={change}/>;
26
+
27
+ // これだと表示は変わるが、inputに直接書き込めない
28
+
29
+ return <TextField defaultValue={value} onChange={change}/>;
30
+
31
+ // これだとstateが変わっても表示が変わらないがinputには書き込める
32
+
33
+ ```

1

タグの追加

2020/12/02 14:00

投稿

hello_space
hello_space

スコア24

test CHANGED
File without changes
test CHANGED
File without changes