[Day 2] 就從最基礎的useCounter開始

主程式

首先製作一個簡單的useCounter 我們希望他會有三個功能,加一、減一、重置到初始值,並且也要回傳count值、與可以自己設定的setCount,我們也能設定初始值
稍微解釋一下,我們可以在useCounter()中放入一個參數,我們設定是initialValue?: number,?:代表他是選填的,並不是必要傳入的參數,reset如果有設定初始值,就會變成初始值,不然就會變成0

測試

那接下來我們要開始寫測試了,首先我們要思考我們可能會需要哪些測試->
  1. 測試如果沒有填入初始值,count預設會是0
  1. 測試如果有填入初始值,count預設會是初始值
  1. 測試是否有加一
  1. 測試是否有減一
  1. 測試是否有重置為初始值

前面應該都還算簡單,接下來reset中,我們會在講解renderHook中其實可以傳兩個參數與renderHook的另一個回傳值: rerender的用法

接下來跑npm test吧 成功畫面應該會長得像底下這樣
notion image
Pass底下的useCounter custom hook就是我們剛剛寫的describe的第一個參數,描述測試大綱 ✓ should use default initial value (9 ms) ✓ should use initial value (2 ms) ✓ should increment counter (3 ms) ✓ should decrement counter (2 ms) ✓ should reset counter to initial value (2 ms) 底下這五個則是我們剛剛寫的It的第一個參數,描述測試內容
今天可能比較多東西,但因為custom hook比較簡單,所以直接把custom hook與測試放一起,接下來應該是一天custom hook,隔一天講解測試,目前安排了11個實例,有什麼希望也可以講解的測試或想了解的custom hook都可以在下面留言.
有什麼不會、不了解的也歡迎下面提問,有什麼我寫錯的也歡迎指正,太趕或任何問題都可以在下面提出. 你們的觀看就是我繼續的動力,謝謝大家~