WTM - D2 workshop 活動心得
活動表訂從9:40到17:30,實際製作應該是5個小時左右,當天是一組四個組員,兩個工程師搭兩個設計師。 題目是 WTM 官網註冊頁及首頁,我只做了首頁…另一位工程師除了註冊頁,還能給大家開發及設計的建議,希望自己也能慢慢朝這個方向邁進。 這次實作要的技術東西都看過,都沒自己深入想過、做過😅,沒能好好的判斷作法,寫個筆記警惕一下自己: Web Vitals <img>載入造成的版面位移,忘了寫個預設值的情況下可能影響web指標中的累積佈局偏移(CLS),而且使用者要點東西的時候版面跳掉應該是蠻差的體驗。 React React 18 的 useEffect 在 render 時會跑兩次,原因參考這篇文章。 正常在元件中使用 setTimeout 來觸發 re-render 拿 state 不會有更新位址的問題,想太多了 - 寫了個例子。這個作法我用來實踐題目中輪播圖功能。 會有事的是在Line群上看到群友提出的這個情境;在useEffect中使用setTimeout必須配合 useRef 來更新 re-render 後的 state 位址,才能穩定的每秒倒數並考慮更新的 state - 該情境可行的解法。 至於不會穩定的每秒倒數則是我嘗試想解題時的這個例子;每次觸發按鈕確實更新了 log 中的 state,但計時也會跟著重置,連按的情況下就會等最後一下按完開始算一秒才有 log。😥 Tailwind CSS Tailwind CSS 預設的 utilities 想用自訂值只要個加方框… 透過CDN引入一樣可以寫 configure, utilities 和用官方 plugin,作法參考官方文件。我應用這個在漢堡選單的展開,寫了個影格及動畫。 關於codesandbox 不知道怎麼解,但純記錄下來: 嘗試了在 codesandbox 用非CDN的方式引入 Tailwind CSS,看了幾個設定好的環境,不是把 stylesheet 整個輸出出來,就是要改Node.js做環境,但我只是想要不顯示scrollbar…。 環境跑 HMR 時好像會讓 useEffect 變得怪怪的,有狀態殘留、重複觸發,但重整後又沒事了,也可能是我的寫法不安全造成的?🤔 沒有確認好展示時要用的環境,雖然開發時有跟工程夥伴說好用codesandbox的mobile preview為基準開發,但它這個preview就算是用內建的open in new window,版面也會變得不同,也沒再跟全部組員確認demo時會用什麼環境,結果就有很重要的東西跑板了…...