Redux Reducer with TypeScript

Jayson Chiang
Feb 28, 2021

--

想像一個開發一個 Todo List ,使用 JavaScript 為 Add Todo 寫的 Redux Reducer :

改寫成 TypeScript 版本,先將 Action Type 改寫為 enum,再分為 stateaction 寫 interface。Action 的 payload 會因為 Action Type 的情境而不同,所以先暫時寫 payload?: any

現在專心討論 interface Action 的 payload:

(1) 在 ADD_TODO 的時侯是 沒有payload 。

(2) 當 ADD_TODO_SUCCESS 的時侯是Todo的陣列,所以是 string[]

(3) 當ADD_TODO_ERROR 的時侯是錯誤訊息,所以是 string

分別為這三種情況寫成3個 interface,即可避免使用 any

--

--

No responses yet