#### 10/12 開發紀錄: - 在按鈕邏輯處理上發生了一些障礙,導致邏輯功能出不來。 #### 一些筆記: - addNumber(),邏輯 ``` calc.jsx const addNumber = (number) => { // symbol if (!symbol) { if (numA === 0) { setNumA(number); } else { const newNum = numA + number; setNumA(newNum); } } else { // 有符號再向下作 setNumB(numB + number); } }; ``` - 這邊拆成三個部分來看這段函數: 1. addNumber(): ```jsx const addNumber = (number) => { }; ``` 2. 處理 numA: - 當 `!symbol` 踩雷小筆記 , 因為我們專案上的 symbol state 預設是("") 這個時候是還沒有任何符號的。 所以第一段 {} - 用來設定 numA"0" 為 鍵盤上的 "number" 當 `numA === "0"` , 觸發 `setNumA(number)` 當 `numA !== "0"` , 觸發 {} 執行宣告一個新的變數 = `numA` + `number` 來組字串 -> `setNumA(newNum)` ``` jsx if (!symbol) { if (numA === 0) { setNumA(number); } else { const newNum = numA + number; setNumA(newNum); } } ``` 3. 處理 numB , (觸發這邊表示此時 symbol === true) ``` else { // 有符號再向下作 , setB 去+ 觸發的鍵盤值 setNumB(numB + number); } ```