質問編集履歴

1

わからない部分に対しての追記と、参考コードを追加しました。

2018/07/07 05:42

投稿

u310ai
u310ai

スコア10

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,13 @@
4
4
 
5
5
  例えばthunkなどはアクションにstore.dispatchを渡して、アクション内で実行させたりしていますが、
6
6
 
7
+ どうしてstore.dispatchが働くのかがわかりません。
8
+
9
+ どこでアクション関数内で働くdispatchにstore.dispatchに入れているのでしょうか?
10
+
11
+
12
+
7
- どうしエラーにならなのでょうか?
13
+ 基本的な認識が間違っているかもれませんが、
8
14
 
9
15
  よろしくお願いします。
10
16
 
@@ -61,3 +67,43 @@
61
67
  }
62
68
 
63
69
  ```
70
+
71
+
72
+
73
+ redux-thunk
74
+
75
+ ```javascript
76
+
77
+ function createThunkMiddleware(extraArgument) {
78
+
79
+ // ここのdispatchはmiddlewareAPIから渡ってきたdispatchだと思いますが、
80
+
81
+ // エラーが入ってたと思うのですがちゃんと働きます。
82
+
83
+ return ({ dispatch, getState }) => next => action => {
84
+
85
+ if (typeof action === 'function') {
86
+
87
+ return action(dispatch, getState, extraArgument);
88
+
89
+ }
90
+
91
+
92
+
93
+ return next(action);
94
+
95
+ };
96
+
97
+ }
98
+
99
+
100
+
101
+ const thunk = createThunkMiddleware();
102
+
103
+ thunk.withExtraArgument = createThunkMiddleware;
104
+
105
+
106
+
107
+ export default thunk;
108
+
109
+ ```