В Next-JS хук UseEffect() запускается дважды. Я слышал, что нужно указать пустой массив в качестве второго аргумента, чтобы исправить это в React.
В моем случае в Next-JS это не работает. (Насколько я знаю, Next-JS основан на React).
Я нашел один способ: в next.config.js установить reactStrictMode: false. И это работает, UserEffect вызывается один раз.
Но мне этот способ не подходит, т.к. мне нужно использовать строгий режим React.
_app.js:
import '../styles/globals.css';
import React, { useEffect, useState, useRef } from 'react';
function MyApp({ Component, pageProps }) {
if (typeof window !== "undefined") {
useEffect(() => {
console.log('Component Did Mount') //вызывается дважды :с
}, [])
return <Component {...pageProps} />
}
export default MyApp