亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以在反應功能組件中使用“讓”嗎?

我可以在反應功能組件中使用“讓”嗎?

Cats萌萌 2021-12-02 16:41:57
我目前正在學習 React。我可以在函數組件中使用“let”而不是“useState”嗎?const Func = () => {  let fruit = "banana";  const changeFruit = () => {    fruit = "apple"  };  changeFruit();}const Func = () => {  const [fruit, setFruit] = useState("banana");  const changeFruit = () => {    setFruit("apple");  };  changeFruit();}
查看完整描述

2 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

那不是函數式組件,因為函數式組件必須返回一個 React 元素。


如果它是一個功能組件,并且您在返回 Element 之前同步更改變量,那很好:


const Func = () => {

  let fruit = "banana";


  const changeFruit = () => {

    fruit = "apple"

  };


  changeFruit();


  return <>{fruit}</>; // displays "apple"

};

如果您異步更改它,例如


  setTimeout(changeFruit, 1000);

那么在變量更改后組件將不會重新渲染。這不是你通常想要的。如果您useState調用該setFruit函數,則組件會重新渲染。


查看完整回答
反對 回復 2021-12-02
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

我可以在函數組件中使用“let”而不是“useState”嗎?

答案是否定的,你不能用 let 代替 state。你的組件不會重新渲染,這就是狀態的全部

請考慮React文檔以幫助您理解 React 中的狀態概念

希望能幫助到你


查看完整回答
反對 回復 2021-12-02
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號