Coding · React 初心者大補帖 React 初心者大補帖(3):用自動販賣機範例學會 useImperativeHandle 在 React 裡,父元件通常 無法直接控制子元件的內部狀態或行為。但有時候,我們希望 父元件可以透過某些方法操作子元件,例如:重置狀態、讀取資料或觸發某些事件——這時候,useImperativeHandle 就能派上用場。 這篇文章將透過一個「自動販賣機」的範例,一步步了解: * 什麼是 useImperativeHandle * 它為什麼需要搭配 forwardRef * 如何在實務中運用它來建立一個「可由父元件遙控的子元件」 By Anthea / 芫荽 6月 6, 2025
Coding · React 初心者大補帖 React 初心者大補帖(2):React Query 如何測試 onError 最近在幫一個有使用到 react-query 的元件寫測試時遇到一個狀況: 可以看到在上面的程式碼中,我有針對 error 做一些處理,因此我想寫個測試確認當我的 API 回傳錯誤後有正確的被處理: 但當我這執行測試後,卻發現測試執行不過: 可以從 console 中看到,錯誤是在驗證錯誤處理就被拋出了,在這裡下了 console log 之後可以看到目前的 result isLoading = true By Anthea / 芫荽 5月 29, 2025
Coding · React 初心者大補帖 React 初心者大補帖(1):為什麼 const 可以在宣告前使用 在開發 React Component 或 Hook 時,常會看到像這樣的程式碼: 這看起來像是違反了 JavaScript 的規則,因為你在宣告 someStrategy 之前就用了它,但實際上這是合法的行為,也是 JavaScript 的預期表現。 一般來說,我們會在學習 JavaScript 的過程中看到這件事情:在 JavaScript 中, By Anthea / 芫荽 5月 23, 2025
Coding 如何在 local 設置 Git Pre-commit Hook 什麼是 Pre-commit Hook Git pre-commit hook 是一種本地腳本,在跑 git commit 命令時會自動執行。這些 hook 可以用來確保程式碼品質,例如 run test、TypeScript 型別檢查、執行 ES Lint By Anthea / 芫荽 5月 16, 2025
Coding · JavaScript 工程師的修行之路 JavaScript 工程師的修行之路(2):async await VS Promise 在 JavaScript 的世界裡,處理異步操作的方法有多種,其中最常被討論的就是 async/await 與 Promise.then()。這兩者各有特色與適用場景,理解它們的差異,有助於我們在開發中做出更明智的選擇。 接下來我將會從語法風格、錯誤處理、執行順序這三個面向說明一下兩者的差異。 語法風格與可讀性 async/await 的出現,讓我們可以用類似同步的方式來撰寫異步程式碼,提升了程式的可讀性。例如: async By Anthea / 芫荽 3月 9, 2025
Coding · JavaScript 工程師的修行之路 JavaScript 工程師的修行之路(1):深入理解 Event Loop、Call Stack 與非同步機制 剛接觸 JavaScript 的時候不知道大家有沒有看過這個情境: console.log("A"); setTimeout(() => { console.log("B"); }, 0); console.log("C"); 你覺得跑完上面的程式碼後,最後 log By Anthea / 芫荽 3月 9, 2025
Coding · LeetCode 刷題筆記 LeetCode 2541. Minimum Operations to Make Array Equal II By Anthea / 芫荽 1月 22, 2023
Coding · LeetCode 刷題筆記 LeetCode 2530. Maximal Score After Applying K Operations By Anthea / 芫荽 1月 8, 2023