今天主要是讓使用者在新增他國的幣別時,可以自動轉換讓使用者可以更方便了解自己的支出與收入。
讓記帳 App 支援多種幣別
我希望使用者不只能記錄台幣,也可以輸入美元、日圓、歐元、英鎊、韓元等外幣。
主要功能有:
除此之外也複習了 API 的基本概念,App 可以向外部服務發送請求,取得資料後再拿回來使用。
用 API 取得最新匯率
這次使用 fetch() 向匯率 API 發送請求:
因為網路或 API 都可能發生問題,以防萬一我還是加入了預設匯率作為備用:
如果 API 無法取得資料,就回傳 DEFAULT_RATES:
這樣即使 API 暫時無法使用,也不會讓整個 App當掉。
頁面開啟時自動取得匯率
我在 React 裡使用 useEffect,讓 App 第一次載入時自動取得匯率:
這裡的 [] 代表這個 Effect 不需要因為其他 State 改變而一直重新抓取資料。
輸入外幣時即時顯示台幣
在記帳表單中,如果使用者選擇的不是台幣而是其他國家的貨幣,就會顯示目前金額大約折合多少台幣:
因為這次 API 的匯率是「1 TWD 可以換多少外幣」,所以換算台幣時是:
原始外幣和台幣分開儲存
這裡我沒有把原本的 amount 改成外幣金額,而是保留原本的 amount 作為台幣金額,讓使用者可以更好的知道自己的支出/收入。
新增資料時:
這樣就可以同時保留:
這邊貼上今天的成果:

總結:
今天完成了記帳 App 的多幣別與匯率換算功能,也學到: