我知道const不能改變,如何宣告 aconst [counter, setCouter] = useState();仍然能夠改變const counter即使它是 a const?
我在不同的塊范圍內遇到了變數陰影和變數。但是const counter這里作業正常,即使當你重新分配它時它不在不同的范圍內setCounter。
uj5u.com熱心網友回復:
function MyComponent() {
const [state, setState] = useState("");
return <SomeJsx/>;
}
當您呼叫時setState,常量state不會改變。相反,再次呼叫,現在回傳更新的值。該值被分配給常量,但這是不同函式呼叫的一部分,因此它實際上不是同一個常量。MyComponentuseStatestate
uj5u.com熱心網友回復:
根據我的理解,在 javascript 中,const 意味著您不能使用賦值運算子重新為變數賦值,這對于反應狀態是正確的,因為狀態在反應中是不可變的。你總是需要 setState 函式來改變它。
uj5u.com熱心網友回復:
您不能const在 JavaScript 中重新分配值,React 也不這樣做。相反,每次渲染組件時,您都會獲得一個新值并將其分配給一個新 const變數。組件是在重新渲染時呼叫的函式,而 React 設法處理未更改和更改的狀態,以便經濟地計算資源。這也是類組件不能使用鉤子的原因,因為在每次重新渲染時都不會“呼叫”類。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/511291.html
標籤:反应变量常数理论
