दोनों प्रभाव चलाते हैं, लेकिन ब्राउज़र पेंट के सापेक्ष विभिन्न क्षणों पर — और यह समय अंतर पूरा मुद्दा है।
useEffectब्राउज़र के पेंट करने के बाद चलता है। यह asynchronous और non-blocking है। इसे लगभग सब कुछ के लिए उपयोग करें (डेटा, सदस्यता, लॉगिंग)।useLayoutEffectDOM के mutation के बाद लेकिन ब्राउज़र के पेंट करने से पहले synchronously चलता है। इसका उपयोग तब करें जब आपको layout पढ़ना और DOM को दिखाई देने वाली flicker से बचने के लिए एक ही frame में बदलना हो।
