在 React 中,我們常常需要管理狀態。最常見的 Hook 是 useState,但有時候會聽到「這裡用 useReducer 會比較好」。那麼,這兩個差在哪...
在 React 裡,你常常聽到「不要直接修改 state」。真正的原因是:React 偵測不到你直接改了內容。 React 如何判斷 state 是否改變? R...
你有沒有遇過這種情況:在 React 中渲染一個待辦清單,點了「新增任務」按鈕,結果輸入框的值跑到另一個項目去了? 這其實就是因為 少了正確的 key。 概念解...
object function筆記 const obj = { value:'小明', fn:function(){ return...
Day30 要來寫個打地鼠的小遊戲 資料 const MOLE_IMAGE_URL = "https://raw.githubuserconten...
Day29 要來做個倒數計時器 Custom Hook function useTimer(initialTime: number): TimerHook {...
Day28 要來做個影片速度的控制器 資料 const VIDEO_URL = "https://github.com/wesbos/JavaSc...
Day27 要來做個可以左右拖曳的目錄 資料 const items: number[] = Array.from({ length: 25 }, (_, i)...
Day26 要來做個有下拉選單的導覽列 資料 const navItems: NavItem[] = [ { name: "About"...
Day25 主要聚焦於 JavaScript 中的各種事件處理,就讓我們寫個按鈕與互動畫面來觀察ㄅ 資料 const colorMap: ColorMapTyp...
Day24 要做的是將導覽列黏到畫面最上方的功能 定位屬性 sticky <nav className="sticky top-0 bg-w...
今天要來實做拖曳畫面中的物件,原本我們預計是使用React-beautiful-dnd這個套件,但由於現在React 18不支援strict mode,拖曳中會...
Day23 要做的是將輸入的文字轉為聲音 資料 const MESSAGE = "Hello!"; const [text, setT...
Day22 要來做的是可以根據滑鼠滑過去就出現背景色的螢光筆 資料 const [highlightStyle, setHighlightStyle] =...
Day21 要來做個羅盤 資料 const [geolocation, setGeolocation] = useState<Geolocation&...
Day20 要來控制麥克風 資料設定 const SpeechRecognition = (window as any).SpeechRecognition...
Day19 是要操作照相機來拍照,甚至可以加上濾鏡 資料 const videoRef = useRef<HTMLVideoElement>(n...
Day18 主要是要練習用 Array 的 reduce 方法來做加總的計算 資料 const videosData = [ { id: 1, title:...
Day17 要做的是幫列表排序,但要忽略開頭的定冠詞 資料 const bands: string[] = [ "The Plot in You&...
Day16 要來玩的是讓文字產生背景的陰影,並會隨著滑鼠的移動更改方向 資料 const [offset, setOffset] = useState<...
在我們的前幾篇文章中,我們已經介紹了如何使用表單來捕獲用戶輸入數據,並通過 EmailJS 發送表單數據。今天,我們將深入探討如何利用 sessionStora...
Day15 要撰寫的是待辦清單,並把資料存進瀏覽器的 LocalStorage 資料 const [todos, setTodos] = useState&...
Day14 要來學習怎麼複製資料 Q1 基本型別是 call by value ,所以不會更改到原始資料 let age = 100;...
昨天我們介紹了基本的Leaflet用法,今天我們要把JSON檔中的景點資訊匯入到MapItem中,那這邊先確認JSON檔景點資訊中都有包含經緯度的資訊(posi...
Day13 要做的是類似視差滾動的圖片效果 資料 const images = [ { src: "https://unsplash.it/400...
Day12 是要來做偵測鍵盤輸入的彩蛋遊戲 資料 const SECRET_CODE: string = "wesbos"; cons...
Day11 要做的是客製化的影片播放器 資料設定 const VIDEO_URL = "https://github.com/wesbos/Jav...
在現代 Web 應用開發中,表單的管理與驗證往往是開發過程中的一大挑戰。上一篇文章中,我們探討了如何追蹤使用者行為並優化應用體驗,而今天,我們的焦點是表單管理。...
Day10 是要實作可以用 Shift 來多選框框的題目 建立資料 const checkboxData: string[] = [ "This...
Day09 主要在介紹各種 console 的用法 基本用法 console.log("Hello") 穿插字串 console.log(...