બંને અસર ચલાવે છે, પરંતુ બ્રાউজર પેઇન્ટ સંબંધિત વિવિધ ક્ષણોમાં — અને તે સમય તફાવત એ સમગ્ર મુદ્દો છે.
useEffectબ્રાઉઝર પેઇન્ટ કર્યા પછી ચલાવે છે. તે અસિંક્રોનસ અને બિન-બ્લોકિંગ છે. તેનો ઉપયોગ લગભગ બધું માટે કરો (ડેટા, સબસ્ક્રિપ્શન્સ, લોગિંગ).useLayoutEffectDOM મ્યુટેટ થયા પછી પરંતુ બ્રાઉઝર પેઇન્ટ કરતા પહેલા સિંક્રોનસલી ચલાવે છે. તેનો ઉપયોગ ત્યારે કરો જ્યારે તમે લેઆઉટ વાંચવું જોઈએ અને પ્રત્યક્ષ ઝબકમી ટાળવા માટે એક જ ફ્રેમમાં DOM બદલવું જોઈએ.
