siuying 積分 2

Redux 在文件 Async Actions1 中有說到,這時候通常用 redux trunk middleware 寫一種叫 Action Creator 的東西。儲存理應放在 Store 。

不喜歡 Redux 的地方就是這種造一大堆新的 abstraction 出來,而且也不是唯一的做法,新手不知道對不對。

這是文章的子討論串,你可以回到上層查看所有討論和文章
popcorny 積分 2 編輯於

天啊!! 這東西好複雜,看了好久才知道他在說什麼。

一般來說store.dispatch應該只吃Action1 type,但是透過middleware可以包裝此dispatch變成可以吃Thunk這個型態,此型態的定義在 這裡2 ,簡單講就是一個

function(dispatch, getState)

這種型態的function。透過closure的方式,可以讓在async的地方去call這兩個redux會用到的function,來達到ajax complete的時候,去sync的呼叫dispatch來通知complete。

這個可能對於用redux的人可能會知其然但不知所以然吧,如果沒有搞懂thunk的機制,可能覺得莫名其妙吧。我同意你說的,這些abstraction不太必要,只是讓一且覺得很神奇而已,對於新手入門門檻太高了。