2 回答

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您在內(nèi)部使用外部函數(shù)/變量React.useEffect,則還需要將它們添加到其依賴項(xiàng)數(shù)組中。這樣,React 才會(huì)知道React.useEffect僅當(dāng)依賴項(xiàng)數(shù)組中指定的值發(fā)生更改時(shí)才運(yùn)行。另外,您不需要使用 eslint 注釋。
雖然它在不將其添加到依賴項(xiàng)數(shù)組的情況下仍然可以工作,但由于過多不必要的重新渲染,它會(huì)降低組件的性能。
你可以將其改進(jìn)為這樣的
useEffect(() => {
? async function getTok() {
? ? await Gettestimon();
? ? alldoc.map(forget => console.log(forget.name));
? ? setcondi(true);
? }
? getTok();
}, [Gettestimon]);

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
這是由于缺少依賴項(xiàng)造成的。
每個(gè)渲染都會(huì)調(diào)用 useEffect 方法,第二個(gè)參數(shù)為空。但是,如果您需要useEffect函數(shù)僅在某些內(nèi)容發(fā)生更改時(shí)執(zhí)行,我們需要將該變量或?qū)ο筇砑拥揭蕾図?xiàng)數(shù)組中。
在使用 Effect 時(shí),您使用了函數(shù)范圍之外的外部對(duì)象,例如 alldoc 和 Gettestimon。
如果您只想對(duì)這些對(duì)象更改alldoc和Gettestimo執(zhí)行useEffect,則需要將其添加到依賴項(xiàng)數(shù)組中。否則,您將在每個(gè)渲染周期執(zhí)行useEffect 。
添加回答
舉報(bào)