范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

React18中useEffect执行两次

  什么是严格模式
  strict mode就是一个工具,用来检查应用中可能存在的问题。 严格模式只会在生产环境下运行,在开发环境下它是没有影响的。import React from "react";  function ExampleApplication() {   return (            
); } 复制代码   你可以用React.StrictMode包裹你想要检查的应用,没有包裹的应用是不会受到影响的。比如上述的代码中组件是不会受到严格模式的作用的,只有我们包裹的和才会受到严格模式的影响。严格模式的作用   严格模式会进行如下的检查识别不安全的生命周期,比如componentWillMount。后面升级成了componentDidMount   对ref这个API以前版本的检查,希望你换成新的版本findDOMNode被弃用的警告检测意外的副作用发现context过期的API确保可重复使用的stateReact官方文档中给出了一个例子,意思应该是说如果我们从路由A跳转到路由B,再从路由B返回去的时候。 React希望立即展示原来的状态,也就我可以把A的状态缓存起来,那么我们返回的时候就可以根据缓存中的状态立刻渲染出来。 复制代码为什么React将useEffect设置为执行两次   刚刚我们提到,React 将支持使用卸载前已有的组件状态重新挂载到树上。但需要组件对多次挂载和销毁的副作用具有弹性。这里需要我们好好理解React中的副作用,笔者也还没有完全理解这句话的意思,但是我们可以根据React官方文档给出的例子来好好理解useEffect的使用场景,然后再回来理解这句话表达的含义。   意思好像是如果React不将Effect设置成执行两次,那么React在做这方面优化的时候可能会引发一些问题。并且这些问题并不会让开发者注意到,所以React将Effect设置成执行两次,就是为了让问题提前暴露出来。React还认为Effect执行两次在大部分情况下是没有问题的   非严格模式* React mounts the component. //挂载组件 * Layout effects are created. //layout执行 * Effects are created. //Effects执行 复制代码   严格模式* React mounts the component. //挂载组件 * Layout effects are created. //layout执行 * Effect effects are created. // Effects执行 * React simulates effects being destroyed on a mounted component. //React模拟组件销毁 * Layout effects are destroyed. // layout销毁 * Effects are destroyed. // Effects销毁 * React simulates effects being re-created on a mounted component. // React模拟重新挂载 * Layout effects are created // layout重新创建 * Effect setup code runs // Effect重新执行 复制代码如何在应用中处理Effect执行两次的问题   React认为执行两次在大多数情况下并没有有什么影响,我们应该考虑的是在重新挂载之后,如何让Effect正确的执行,而不是怎么才能让Effect执行一次。下面我们看些优化的场景。请求数据   我们可以通过一个变量来控制请求的时候只发出去一次,也可以通过取消请求的方式来进行改善。useEffect(() => { let ignore = false; async function startFetching() { const json = await fetchTodos(userId); if (!ignore) { setTodos(json); } } startFetching(); return () => { ignore = true; }; }, [userId]); 复制代码弹窗问题   在第二次挂载之前,将弹窗close掉,就不会有两次调用showModal()的问题了useEffect(() => { const dialog = dialogRef.current; dialog.showModal(); return () => dialog.close(); }, []); 复制代码Not an Effect: Buying a product   不知道标题怎么翻译比较合适,直接拿过来用吧useEffect(() => { fetch("/api/buy", { method: "POST" }); }, []); 复制代码   React认为在useEffect里面发送post请求是不正确的,这种需求场景是不存在的。你应该是在点击事件中发送某个post请求,而不是直接在useEffect里面。setTimeout   记得在useEffect里面取消定时器 useEffect(() => { function onTimeout() { console.log(" " + text); } console.log(" Schedule "" + text + "" log"); const timeoutId = setTimeout(onTimeout, 3000); return () => { console.log(" Cancel "" + text + "" log"); clearTimeout(timeoutId); }; }, [text]);

今年复古风穿搭是主流,沉稳成熟质感高,不会穿的完全可以跟着学复古的造型韵味在日常越来越常见,它是一种款式也是一种色调,但组合起来就是充满回忆又超有韵味的造型风格。和女性的塑造力不同,男性呈现出来的是独有韵味。时尚是个轮回,近年来复古穿搭逐渐又一综艺引发热议,这几年婚恋综艺为何占据了半壁江山?随着再见爱人妻子的浪漫旅行春日迟迟再出发怦然再心动等婚恋综艺的热播,有关婚恋的话题甚嚣尘上,毫无消停之势。除了有明星大咖的流量加持,其实真人秀节目本身的真实刺激,同代人的同款情感困全国人的宜宾,中央为宜宾市迁来6大总部,原驻成都泸州自贡北京宜宾,是一个拥有近460万常住人口规模的城市,被称为万里长江第一城,也是国家历史文化名城。2021年,宜宾实现GDP3100多亿元,是四川省一个正在冉冉升起的明星城市。罗马不是一天2023年绿色彗星,自石器时代以来,首次划过天空据KTLA姊妹站KXAN报道,这个月,观星者将看到一个文明中难得一见的景象一颗名为C2022E3(ZTF)的绿色彗星正在接近地球。据称,这颗彗星最后一次穿过我们的太阳系是在5万多年美国宇航局一颗环绕地球近40年的卫星周日将从天空坠落据每日星报1月7日消息,美国宇航局一颗环绕地球运行了40年的卫星将于本周末从天空坠落。这颗已退役的卫星于1984年首次被发射到太空,专家说,它不太可能伤害任何人。美国宇航局表示,残缘分的天空头条创作挑战赛缘分的天空,是阴是晴,很难说得清。必定是相互能懂,才会触景生情,以心换心,缘分的天空,便可由阴转晴。相互能懂,温暖着彼此的心间。不一定要朝朝暮暮,但一定要有一个,晴朗免费!这个冬天,泸州博物馆限时特展,寒假一定要带孩子去武将勇猛百子戏,江风酒韵伴潮生。麒麟背上可温酒,一座馆藏一座城。随着天气越来越冷,户外活动好像变得不香了。这几天有人让泸小文推荐不太冷的游玩方式,小文第一个想到的,就是去泸州博物馆国家体育总局公布中华人民共和国第十五届运动会竞赛规程总则近日,体育总局办公厅发布关于印发中华人民共和国第十五届运动会竞赛规程总则的通知。具体如下中华人民共和国第十五届运动会竞赛规程总则第十五届全国运动会坚持以人民为中心,深化体育事业改革春运第二天湖南铁路到达旅客27万人次,长沙南站自助机器人首次亮相护航春运视频加载中三湘都市报新湖南客户端1月8日讯(全媒体记者和婷婷实习生丁欣通讯员曾小贤)今天,记者从广铁集团了解到,1月8日,春运第二天,广铁集团湖南铁路到达旅客27万人次,其中长沙南中华彩灯大世界入选国家旅游科技示范园区自贡网记者周姝近日,文化和旅游部公布2022年国家旅游科技示范园区名单,中华彩灯大世界入选,成为四川省唯一上榜园区。2022年8月,文化和旅游部办公厅印发通知,启动2022年国家旅2023年第一季度共7款新机,其中华为两款荣耀一款,有你期待的吗一转眼2023年已经开始了,而如今各家也都已经陆续准备好了新机,根据目前的爆料,在2023年第一季度,从月到3月共有7款新机即将上市。分别是三星GalaxyS23,荣耀magic5
勇士王朝下的众生大湿悲壮,杜大锤投降,阿king打破神话2015年2019年,是勇士王朝的巅峰时期,五年之内三次夺冠。小学生横空出世,凭借着三分球,以一己之力射爆了联盟。自阿king热火时期便开始畅想的小球时代,终于席卷了整个联盟。都说国足天才陈涛世青赛一战成名,却被俱乐部针对,31岁为钱踢中乙如果说中国足球有所谓的天才,那陈涛的名字最应该被人提及。2008年的北京奥运会小组赛,董方卓打进了中国足球历史上在世界大赛的第一粒也是目前为止的唯一一粒进球,可能很多人已经想不起,某总经理尼克斯新赛季最多东部第十,锡伯杜会因此被炒NBA记者SeanDeveney近日采访了一位联盟总经理,后者谈到了对尼克斯主教练汤姆锡伯杜的看法。之前大家一直在想他能否扛过上赛季,因为他们球队表现一直下滑,球队有时候毫无纪律性李玉成吃独食,装关心表示对方吃不了,85岁马玉琴对镜头声泪俱下导语李玉成和马玉琴这对老妻少夫相信很多网友都特别的关心,毕竟这对恋人相差32岁,就连马玉琴最小的儿子都比李玉成年纪大,就是这样的情况,李玉成不惜与家人断绝关系也要与马玉琴在一起,难为什么李易峰宁愿花钱解决,也不愿意找个老婆结婚?明星靠流量挣钱呢,失去流量就无利用价值,团队会抛弃它们的。这就是中国的演艺圈,不靠功夫靠流量。不懂就不要乱说!郭富城50多岁结的婚现在不也蛮好!李还只35岁,再做十年顶流赚十年钱再65岁冯巩带好友聚餐!50岁闫学晶素颜显老态,吃饭口水飞溅被吐槽近日,著名相声演员冯巩在社交平台上晒出一段外出吃饭的视频,并问大家谁是霸王?,其近况引发网友关注。当天,冯巩身穿一件黄色POLO衫,搭配灰色的休闲长裤,虽然脑门光秃秃发量稀疏,但是罚罪十大让人目瞪口呆的情节,被吐槽一点都不为过罚罪大结局,从前期紧凑的剧情,掀起观剧热情。到后期的无厘头编剧,掀起一波狂喷热潮。耐着性子把全剧看完,这十大情节,让人目瞪口呆,不得不拿出来吐槽一番。第十54张扑克牌人物,虎头蛇尾美联储加息靴子落地,俄罗斯二战后的首次战争动员今天大A又满盘皆绿,主板一度跌破3100,创业板下挫1。5,行情弱不堪言啊。两市成交量萎靡到6360亿,再次刷新年内新低,资金都去哪儿了?现在市场真是变态,开盘就疯了一样的杀,狗庄女篮世界杯开幕,谁能击败世界大赛52连胜的美国女篮头条创作挑战赛篮球美国女篮长期霸榜世界第一,本届赛事依然当仁不让的占据实力榜首位!纵观历史战绩,美国女篮已实现奥运会7连冠以及世界杯(前身世锦赛)3连冠,上次大赛输球还是在2006俄罗斯被禁止参加欧洲杯抽签5件事01hr俄罗斯被禁止参加2024年欧洲杯抽签2024年欧洲杯预选赛抽签将在今年10月9日举行,公布的相关决议之中,将俄罗斯男足排除在抽签程序之外。这意味着俄罗斯男足继续被欧足联全面马特乌斯选德国世界杯26人名单诺伊尔穆勒领衔,罗伊斯未入选直播吧9月21日讯据德天空报道,近日德国传奇马特乌斯挑选出了他心中的,德国队世界杯26人大名单。门将诺伊尔特尔施特根特拉普后卫吕迪格聚勒克里斯蒂安金特尔施洛特贝克科雷尔科特查普劳姆