React 18 useEffect执行了两次
首页 > >    作者:lininn   2022年8月19日 15:38 星期五   热度:941°   百度已收录  
时间:2022-8-19 15:38   热度:941° 

useEffect 在以下两种情况下会执行两次。

仅在开发模式下:这是每个人本地开发时构建应用的模式。

在严格模式下:这个是在使用 create-react-app 或者 Next.js 构建应用时的默认模式。

阻止 useEffect 执行两次的方法只有一个,那就是 关闭严格模式

在 Next.js 中

你可以在 next.config.js 配置文件中关闭严格模式:

reactStrictMode: false


在 create-react-app 中


import React, { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

import App from './App';

const rootElement = document.getElementById('root');
const root = createRoot(rootElement);

root.render(
  <StrictMode>
    <App />
  </StrictMode>
);

	


修改为

import React from 'react';
import { createRoot } from 'react-dom/client';

import App from './App';

const rootElement = document.getElementById('root');
const root = createRoot(rootElement);

root.render(
  <App />
);

作者:酱豆腐精


二维码加载中...
本文作者:lininn      文章标题: React 18 useEffect执行了两次
本文地址:?post=563
版权声明:若无注明,本文皆为“覆手为雨”原创,转载请保留文章出处。
分享本文至:

返回顶部    首页    手机版本    后花园   会员注册   
版权所有:覆手为雨    站长: lininn