最新回答 / Yannis_w
就算加上 [] 還是會被執(zhí)行兩次import React, { useState, useEffect } from "react";export default function StateFunction() {? const [num, setNum] = useState(1);? useEffect(() =&? } {? ? console.log("@");? }, []);? return &/didiv&;;}這是一個...
2022-05-09
最新回答 / qq_精慕門9253943
三種方式解決:1,在index.js取消react.strictMode模式2,在設置的參數(shù)的useEffect中加非空判斷3,把初始化放到useReducer里面
2022-04-16
最新回答 / 慕函數(shù)8463949
后面依賴項數(shù)組如果不寫,就相當于添加了所有的依賴項,依賴項為[],則表示不依賴任何屬性,這樣useEffect就相當于只執(zhí)行一次,ref.current是不變的,只有一個值,因為只執(zhí)行了一次,否則相當于多次執(zhí)行useEffect,每次重新執(zhí)行setInterval 都會有一個新id
2022-04-11
3-2節(jié)有一個明顯的錯誤
作者說useEffect中返回的函數(shù)會先執(zhí)行,然后才執(zhí)行其他部分,這是錯誤的。
useEffect的返回函數(shù)是后執(zhí)行的。
不要忘了頁面剛剛加載,且尚未點擊div時,useEffect已經(jīng)執(zhí)行了一次,這時并沒有執(zhí)行返回函數(shù)。
而當點擊div時,先輸出的“銷毀”,實際上對應的是上一次的“函數(shù)組件結(jié)束渲染”。
作者說useEffect中返回的函數(shù)會先執(zhí)行,然后才執(zhí)行其他部分,這是錯誤的。
useEffect的返回函數(shù)是后執(zhí)行的。
不要忘了頁面剛剛加載,且尚未點擊div時,useEffect已經(jīng)執(zhí)行了一次,這時并沒有執(zhí)行返回函數(shù)。
而當點擊div時,先輸出的“銷毀”,實際上對應的是上一次的“函數(shù)組件結(jié)束渲染”。
2021-10-23