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

做资讯网站需要什么条件网站推广免费渠道

做资讯网站需要什么条件,网站推广免费渠道,软件开发流程详解,宁波医院网站建设在 React 组件的渲染过程中,useMemo 和 useEffect 的执行顺序是不同的。具体来说: useMemo 先执行:useMemo 是在 渲染阶段 执行的,它的作用是缓存计算结果,确保在渲染过程中可以直接使用缓存的值。 useEffect 后执行&…

在 React 组件的渲染过程中,useMemo 和 useEffect 的执行顺序是不同的。具体来说:

  1. useMemo 先执行:useMemo 是在 渲染阶段 执行的,它的作用是缓存计算结果,确保在渲染过程中可以直接使用缓存的值。

  2. useEffect 后执行:useEffect 是在 提交阶段 执行的,它的作用是处理副作用(如数据获取、DOM 操作等),并且是在 DOM 更新之后才运行。

详细执行顺序

  1. 组件渲染阶段:
  • React 调用组件的渲染方法(函数组件的函数体或类组件的 render 方法)。

  • 在渲染过程中,useMemo 会被执行,计算并缓存值。

  • 如果依赖项没有变化,useMemo 会直接返回缓存的值,避免重复计算。

  1. DOM 更新阶段:
  • React 将组件的渲染结果应用到 DOM 上,更新 UI。
  1. 提交阶段:
  • 在 DOM 更新完成后,React 会执行 useEffect 中的副作用函数。

  • 如果 useEffect 有清理函数(返回的函数),它会在组件卸载或依赖项变化时执行。

示例代码

import React, { useMemo, useEffect, useState } from 'react';function MyComponent({ a, b }) {// useEffect 写在 useMemo 上面useEffect(() => {console.log('useEffect: Side effect after DOM update');return () => {console.log('useEffect: Cleanup');};}, [a, b]);// useMemo 写在 useEffect 下面const memoizedValue = useMemo(() => {console.log('useMemo: Calculating expensive value...');return a + b;}, [a, b]);console.log('Render: Component rendering...');return (<div><p>Memoized Value: {memoizedValue}</p></div>);
}function App() {const [a, setA] = useState(1);const [b, setB] = useState(2);return (<div><MyComponent a={a} b={b} /><button onClick={() => setA(a + 1)}>Increment A</button><button onClick={() => setB(b + 1)}>Increment B</button></div>);
}

控制台输出顺序

  1. 当组件首次渲染时:
Render: Component rendering...
useMemo: Calculating expensive value...
useEffect: Side effect after DOM update
  1. 当 a 或 b 变化时:
Render: Component rendering...
useMemo: Calculating expensive value...
useEffect: Cleanup
useEffect: Side effect after DOM update

总结

  • useMemo 在渲染阶段执行:无论它写在 useEffect 上面还是下面,它都会在组件渲染时执行。

  • useEffect 在提交阶段执行:它总是在 DOM 更新后执行,与代码书写顺序无关。

  • React 的执行顺序是固定的:useMemo 先执行,useEffect 后执行。

如果你需要在渲染阶段避免昂贵的计算,使用 useMemo;如果你需要在 DOM 更新后执行某些操作(如数据获取或订阅),使用 useEffect。

http://www.yayakq.cn/news/519692/

相关文章:

  • 手机制作企业网站wordpress博客源码下载
  • 网上做的比较好的竞彩网站汽车技术资料网站建设
  • 客户做外贸用那些网站wordpress增加面包屑导航
  • 东莞网站建设公司直播带视频的网站模板
  • 长尾关键词挖掘工具爱网站果酱wordpress
  • 南昌知名的网站建设公司比较有趣的网站
  • 站群服务器是什么意思做网站.服务器怎么买
  • 网站建设公司 广告法被处罚网站设计模板中的页
  • 郑州正云网站建设wordpress 底部悬浮
  • 网站建设急单辽宁东方建设工程有限公司网站
  • 网站 备案 时间seo百度刷排名
  • 深圳家居网站建设公司wordpress 连接丢失.保存已被禁用_直到您重新连接.
  • 中国铁道建设协会网站找做课件的网站
  • 做电影网站需要多打了服务器网络彩票的网站怎么做
  • 做网站用什么软件免费为朋友做的网站
  • 威海网站制作怎么样网站伪静态怎么设置
  • 服装网站目标wordpress 怎么添加网站备案信息
  • 黄山企业网站建设背景素材网
  • 网站建设一般字体多大视频号怎么运营
  • 网站域名注销linux系统用wordpress
  • 学院的网站建设的er图怎么画做胎压的网站
  • 重庆品牌网站建设公司排名长沙电商网站建设
  • dede手机网站跳转专业设计网站排名
  • 网站动态图片制作怎么注册公司名
  • 网站制作公司站建设网站建设维护成
  • 广州市网站建设企业app开发成本预算表
  • 做网站机构企业网站建设 网络服务
  • wdcp 网站无法访问景观设计网站推荐
  • 什么公司做企业网站网站标题权重
  • 成都的做网站公司24免费医生在线咨询男科