在 Next-JS 中,UseEffect() 是 运行 两次。我把一个空数组作为第二个参数,但没有帮助。如何解决?
In Next-JS, UseEffect() is run twice. I put an empty array as the second argument, it did not help. How to fix it?
在 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') //called twice :c
}, [])
return <Component {...pageProps} />
}
export default MyApp
React.StrictMode是用来帮助开发的,为什么还要担心双执行呢?
顺便说一下,钩子规则 说你不能将钩子放在循环或 if 语句中。
在 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') //called twice :c
}, [])
return <Component {...pageProps} />
}
export default MyApp
React.StrictMode是用来帮助开发的,为什么还要担心双执行呢? 顺便说一下,钩子规则 说你不能将钩子放在循环或 if 语句中。