3 Comments
User's avatar
Hai Feng Kao's avatar

我記得stateful middleware是anti-pattern

Laurence Chen's avatar

滿有趣的論點,我沒有想過。剛才我查了一下,一時沒有找到這個說法的出處。

在原文的例子裡,要做 rate limit ,確實就是得用 stateful middleware 。只是說,換成使用 interceptor 之後,寫錯的機率就下降了。

Hai Feng Kao's avatar

我忘記出處了,但是ChatGPT知道

在 Redux 中,middleware 本身不應該擁有內部的 state(狀態),因為 Redux 的設計哲學強調的是:

所有 state 都應該儲存在單一的 store 中(single source of truth)

middleware 是純粹處理 action 的邏輯擴展機制,例如:記錄日誌、處理非同步、轉換 action、攔截特定動作等