当前位置: 首页 > news >正文

小企业网站制作wordpress 搭建个人博客

小企业网站制作,wordpress 搭建个人博客,自己写的网页怎么发布到网上,合肥seo网站排名优化公司文章目录问题分析解决方式一:使用状态标志方式二:使用 useRef方式三:移除严格模式方式四:使用 useCallback问题 这是一个 React Demo 项目 ,启动后在 Chrome 控制台里发现 控制台 被打印了 “两次”,但是&…

文章目录

    • 问题
    • 分析
    • 解决
      • 方式一:使用状态标志
      • 方式二:使用 useRef
      • 方式三:移除严格模式
      • 方式四:使用 useCallback

问题

这是一个 React Demo 项目 ,启动后在 Chrome 控制台里发现 控制台 被打印了 “两次”,但是,在生产环境中,这个问题通常不会出现,所以可以主要关注开发环境中的行为。

// 入口文件
import { StrictMode } from 'react';
import * as ReactDOMClient from 'react-dom/client';
import App from './App';
const root = ReactDOMClient.createRoot(document.getElementById('root'));
root.render(<StrictMode><App /></StrictMode>
);
// 组件代码
import React, { useEffect } from 'react';const App = () => {useEffect(() => {console.log('组件挂载完成!');}, []);return <>Hello world!</>;
};

分析

  1. 这是 React18 才新增的特性。

  2. 仅在开发模式(“development”)下,且使用了严格模式(“Strict Mode”)下会触发。
    生产环境(“production”)模式下和原来一样,仅执行一次。

  3. 之所以执行两次,是为了模拟立即卸载组件和重新挂载组件。
    为了帮助开发者提前发现重复挂载造成的 Bug 的代码。
    同时,也是为了以后 React的新功能做铺垫。
    未来会给 React 增加一个特性,允许 React 在保留状态的同时,能够做到仅仅对UI部分的添加和删除。
    让开发者能够提前习惯和适应,做到组件的卸载和重新挂载之后, 重复执行 useEffect的时候不会影响应用正常运行。

  4. 每次组件渲染时,React 都会更新页面 UI,然后运行 useEffect 中的代码

  5. Effect 在屏幕更新之后的 rendering 进程结束的时候执行。

解决

方式一:使用状态标志

const [isDataFetched, setIsDataFetched] = useState(false);useEffect(() => {if (!isDataFetched) {getDataList();setIsDataFetched(true);}
}, [isDataFetched]);

方式二:使用 useRef

const dataFetchedRef = useRef(false);useEffect(() => {if (dataFetchedRef.current) return;dataFetchedRef.current = true;getDataList();
}, []);

方式三:移除严格模式

方式四:使用 useCallback

将 getDataList 函数用 useCallback 包裹,可以确保它的引用稳定性。

http://www.dtcms.com/a/470529.html

相关文章:

  • 企石镇做网站中国建筑装饰网饶明富
  • 深入洞察:从巴菲特投资哲学萃取最佳实践
  • 设计网站的功能有哪些微营销工具
  • 我的世界做皮肤的网站西安市高新区建设局网站
  • 车载360环视平台:米尔RK3576开发板支持12路低延迟推流
  • 松下机械手焊机气体流量调节
  • x64dbg破解学习(浅尝)
  • RRC状态机:移动通信网络中的连接灵魂
  • LibreCAD 编译详细步骤指南
  • 2025年100道最新软件测试面试题,常见面试题及答案汇总
  • (15)100天python从入门到拿捏《面向对象编程》
  • Spring AI Alibaba 与 Ollama 集成初探:从环境搭建到首次调用
  • 营销型网站的标准网站flash导入页
  • 汉中专业网站建设开发怎么上国外网站
  • Windows上离线安装 PostgreSQL
  • MySQL——表的操作
  • langchain官网翻译:Build a Question/Answering system over SQL data
  • 我的HarmonyOS百宝箱
  • 广州十大室内设计公司排名网站推广seo教程
  • h5网站用什么软件做网站域名备案证书下载
  • 南京本地网站有哪些做网页需要什么
  • 机器学习破解生命之谜:内在无序蛋白质设计迎来革命性突破
  • Springboot之常用注解
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 14--二次开发--封装公共方法 2
  • 做平面的公司网站DNF做钓鱼网站
  • SpringBoot 集成 LangChain4j RAG Redis
  • 【QT】customPlot 设置图例透明背景和文字颜色
  • AT指令解析:ring_buffer、信号量、互斥量等基础知识
  • 任务网站(做任务学技能的)潍坊市建设局网站
  • 【算法】——动态规划之路径问题