質問編集履歴

4

微修正

2019/10/26 12:18

投稿

tomoya_ios
tomoya_ios

スコア6

test CHANGED
File without changes
test CHANGED
@@ -40,8 +40,6 @@
40
40
 
41
41
  ・ ActionCreatorは問題なく機能している(ActionはDispatchされている)
42
42
 
43
- ・ Reducerは問題なく機能している(Actionを渡せば適切に処理してくれる)
44
-
45
43
 
46
44
 
47
45
 
@@ -54,11 +52,9 @@
54
52
 
55
53
  (一時的にreducerにテキスト入力のたびにdispatchされるactionのcaseを追加して確かめました)
56
54
 
57
- そのため、ActionCreatorとReducerは問題なく、Middlewareが問題だと考えています。
55
+
58
-
59
-
60
-
56
+
61
- また、前提の 4,5 を問題ありかもにしたのは `initialState` に適当なオブジェクトを入れてもUIに反映されなかったたです。
57
+ また、前提の 4,5 を問題ありかもにしたのはreducerで `initialState` に適当なオブジェクトを入れてもFlatListに反映されなかったたです。
62
58
 
63
59
 
64
60
 

3

微修正

2019/10/26 12:18

投稿

tomoya_ios
tomoya_ios

スコア6

test CHANGED
File without changes
test CHANGED
@@ -16,9 +16,9 @@
16
16
 
17
17
  3. APIを叩いて取得したリポジトリを包んでreducerにsuccessかfailのactionをdispatch(問題あり)
18
18
 
19
- 4. reducerで新たなstateを作成してstoreを更新(問題なし
19
+ 4. reducerで新たなstateを作成してstoreを更新(問題ありかも
20
-
20
+
21
- 4. FlatListでstateの状態を監視してリポジトリの状態が変わったら、UIに反映させる(問題なし
21
+ 5. FlatListでstateの状態を監視してリポジトリの状態が変わったら、UIに反映させる(問題ありかも
22
22
 
23
23
 
24
24
 
@@ -58,9 +58,23 @@
58
58
 
59
59
 
60
60
 
61
+ また、前提の 4,5 を問題ありかもにしたのは `initialState` に適当なオブジェクトを入れてもUIに反映されなかったた目です。
62
+
63
+
64
+
65
+ 大きく分けて
66
+
67
+ ・ 前提における 2, 3 が問題。つまり redux-saga の扱いに問題がある。
68
+
69
+ ・ 前提における 4, 5 が問題。つまり ReducerとStore、Componentの連携に問題がある。
70
+
61
- し、なぜ機能していないのかが分からないです。
71
+ のどちらだと考えていす。
62
-
72
+
73
+
74
+
75
+
76
+
63
- アドバイス頂ければ幸いです。
77
+ 解決の糸口になるようなアドバイス頂ければ幸いです。
64
78
 
65
79
 
66
80
 

2

不要な文を削除

2019/10/26 12:16

投稿

tomoya_ios
tomoya_ios

スコア6

test CHANGED
File without changes
test CHANGED
@@ -4,8 +4,6 @@
4
4
 
5
5
  非同期処理の部分でredux-sagaを使用しています。
6
6
 
7
- ActionCreatorでActionをdispatchするとmiddlewareが機能していないのか、そのままreducerへとActionが飛んでしまいます。(詳細は後述します)
8
-
9
7
 
10
8
 
11
9
  想定している流れとしては以下の通りです。

1

詳細説明を追加しました

2019/10/26 12:12

投稿

tomoya_ios
tomoya_ios

スコア6

test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,31 @@
4
4
 
5
5
  非同期処理の部分でredux-sagaを使用しています。
6
6
 
7
+ ActionCreatorでActionをdispatchするとmiddlewareが機能していないのか、そのままreducerへとActionが飛んでしまいます。(詳細は後述します)
8
+
9
+
10
+
11
+ 想定している流れとしては以下の通りです。
12
+
13
+
14
+
15
+ 1. SearchBarにテキストを入力するたびにonChangeTextでactionをdispatchする。(問題ない)
16
+
17
+ 2. Middlewareで 1 の時にdispatchされるactionを監視する(問題あり)
18
+
19
+ 3. APIを叩いて取得したリポジトリを包んでreducerにsuccessかfailのactionをdispatch(問題あり)
20
+
7
- 公式のサンプルや複数の記事参照たのですが、上手くいかい状態です。
21
+ 4. reducerで新たなstate作成てstoreを更新(問題し)
22
+
8
-
23
+ 4. FlatListでstateの状態を監視してリポジトリの状態が変わったら、UIに反映させる(問題なし)
24
+
25
+
26
+
27
+
28
+
9
- (詳細は後述します)
29
+ ## ゴール
30
+
31
+ SearchBarで onChnageTextのたびにAPIを叩いてリポジトリを取得し、FlatListに表示する。
10
32
 
11
33
  ※ Javascirpt初心者のため記法など雑な部分が散見されますがご容赦頂ければ幸いです。
12
34
 
@@ -18,27 +40,29 @@
18
40
 
19
41
 
20
42
 
21
- ・ ActionCreatorは問題なく機能している
43
+ ・ ActionCreatorは問題なく機能している(ActionはDispatchされている)
22
-
44
+
23
- ・ Reducerは問題なく機能している
45
+ ・ Reducerは問題なく機能している(Actionを渡せば適切に処理してくれる)
24
-
25
-
26
-
27
-
28
-
29
- です。現状考えられそうな原因は
46
+
30
-
31
-
32
-
47
+
48
+
49
+
50
+
33
- ・ API取得しリポジトリを表示すFlatListとStoreconnectが上手くいっていない
51
+ す。テキスト入力のびにdispatchされるactionは想定ではmiddlewareで止まり、reducerには流れません。
34
-
52
+
35
- middlewareであるAPIを叩く部分(redux-sagaを使用)が機能していない
53
+ middlewareではsuccessかfailの別のactiondispatchするようにしています。
36
-
37
-
38
-
54
+
39
- す。
55
+ しかし、実際にはreducerにテキスト入力のたびにdispatchされるactionが流れています。
56
+
40
-
57
+ (一時的にreducerにテキスト入力のたびにdispatchされるactionのcaseを追加して確かめました)
58
+
59
+ そのため、ActionCreatorとReducerは問題なく、Middlewareが問題だと考えています。
60
+
61
+
62
+
41
- タイトルの通り後者が原因だと踏んでいます。しかし、なぜ機能していないのかが分からないです。
63
+ しかし、なぜ機能していないのかが分からないです。
64
+
65
+ アドバイス頂ければ幸いです。
42
66
 
43
67
 
44
68