teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

2018/03/10 14:05

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
@@ -51,4 +51,25 @@
51
51
    const newKomaTime = update(this.state.komaTime, {[key]: {START_HOUR: {$set: input}}})
52
52
    this.setState({komaTime: newKomaTime})
53
53
   }
54
- ```
54
+ ```
55
+
56
+ 追加質問
57
+ ---
58
+ immutabilityな記述をmapのなかで。
59
+
60
+ ```js
61
+ var keys = [ [0,0], [0,1] ]
62
+ keys.map(
63
+ key => {
64
+ var keyWhatDay = key[0]
65
+ var keyWhatTime = key[1]
66
+ var newSchedule = update(this.state.schedule, { [keyWhatDay] : { [keyWhatTime] : { STATUS : { $set: true }, ID : { $set: ID } } } })
67
+
68
+ this.setState({schedule:newSchedule})
69
+ }
70
+ )
71
+ ```
72
+ このような記述が必要であった場合、mapとupdateの相性はよくないように見えるのですが、どうなのでしょうか。
73
+ 現在の書き方だと、scheduleを更新することはできません。
74
+ keysは変動するので、map以外の方法は思いつかなかったです。
75
+ どのようにしたらうまく動作させられるのでしょうか。

4

aa

2018/03/10 14:05

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
@@ -48,7 +48,7 @@
48
48
    value={(this.state.komaTime[key] !== undefined) ? this.state.komaTime[key].START_HOUR : ''}/>
49
49
 
50
50
   handleInputChange_S_H = (input,key) => {
51
-   const newKomaTime = update(this.state.komatime, {[key]: {START_HOUR: {$set: input}}})
51
+   const newKomaTime = update(this.state.komaTime, {[key]: {START_HOUR: {$set: input}}})
52
52
    this.setState({komaTime: newKomaTime})
53
53
   }
54
54
  ```

3

2018/03/03 06:22

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
@@ -35,4 +35,20 @@
35
35
 
36
36
 
37
37
  このような場合、どのように対処するのが正しいでしょうか?
38
- このやり方は間違っていますでしょうか?
38
+ このやり方は間違っていますでしょうか?
39
+
40
+ コード追記
41
+ ---
42
+ ```ここに言語を入力
43
+ (settingTime, key) => {
44
+ 〜〜〜〜〜〜〜〜〜〜〜〜〜
45
+  <Input
46
+   style={{marginTop:-15}}
47
+   onChangeText={(input) => this.handleInputChange_S_H(input,key).bind(this)}
48
+   value={(this.state.komaTime[key] !== undefined) ? this.state.komaTime[key].START_HOUR : ''}/>
49
+
50
+  handleInputChange_S_H = (input,key) => {
51
+   const newKomaTime = update(this.state.komatime, {[key]: {START_HOUR: {$set: input}}})
52
+   this.setState({komaTime: newKomaTime})
53
+  }
54
+ ```

2

直した

2018/03/03 06:18

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
@@ -1,1 +1,1 @@
1
- state配列の特定のIDsetStateするにどうしたらいいか。
1
+ setStateをA:[{B:aa,C:a},{B:bb,C:b},{B:cc,C:c}]key=0,1,2でそれぞれで行うには??
body CHANGED
File without changes

1

a

2018/03/02 02:09

投稿

MOTOMUR
MOTOMUR

スコア195

title CHANGED
File without changes
body CHANGED
File without changes