Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >React UseEffect函数在空数组更改中触发

React UseEffect函数在空数组更改中触发
EN

Stack Overflow用户
提问于 2020-09-04 06:16:21
回答 3查看 405关注 0票数 0

如果prop值从一个空数组更改为另一个空数组,我正在处理的react应用程序将触发userEffect函数。

我从页面获取查询参数,并将它们传递到一个组件中,如果任何查询参数数组发生更改,该组件将重新呈现它们。但问题是,即使查询参数数组从[]更改为[]useEffect函数也会触发并重新呈现组件。

我知道[] !== [],也许这就是导致问题的原因。但是,有没有一种方法可以防止应用程序首先触发useEffect函数呢?

这是一个codesandbox演示:https://codesandbox.io/s/vibrant-greider-qgjgs?file=/src/App.js

EN

回答 3

Stack Overflow用户

发布于 2020-09-04 06:36:38

您正在为测试分配一个新的引用,因此它将触发更新。

您应该重新分配相同的数组,并在其中进行操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   const handleClick = () => {
   const arr = test
    setTest(arr);
  };
票数 1
EN

Stack Overflow用户

发布于 2020-09-04 06:39:55

您可以创建自己的自定义钩子来检查每个依赖数组项的深度相等,也可以使用use-deep-compare-effect之类的钩子

票数 1
EN

Stack Overflow用户

发布于 2020-09-04 07:06:07

除了上面的答案,you can also use React.memo as a way to do a comparison check between previous props and new props。如果你的道具有点复杂,你也可以在上面加上Lodash。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63735803

复制
相关文章
React源码中的useEffect
这里不再讲useLayoutEffect,它和useEffect的代码是一样的,区别主要是:
goClient1992
2022/12/02
9900
使用React Hooks进行状态管理 - 无Redux和Context API
现在,我们将探索和开发一个自定义Hook来管理全局状态 - 比Redux更容易使用的方法,并且比Context API更高效。
前端知否
2020/03/23
5K0
使用React Hooks进行状态管理 - 无Redux和Context API
React useEffect中使用事件监听在回调函数中state不更新的问题
很多React开发者都遇到过useEffect中使用事件监听在回调函数中获取到旧的state值的问题,也都知道如何去解决。这个问题网上很多讲解都是直接讲是因为闭包导致获取到的是旧的state值,讲的不够清晰。我们看下具体的例子来逐步理解这个问题。
DamonLiu
2022/06/27
11K0
useEffect与useLayoutEffect
useEffect与useLayoutEffect可以统称为Effect Hook,Effect Hook可以在函数组件中执行副作用操作,副作用是指函数或者表达式的行为依赖于外部环境,或者在这里可以理解为修改了某状态会对其他的状态造成影响,这个影响就是副作用,数据获取,设置订阅以及手动更改React组件中的DOM都属于副作用。
WindRunnerMax
2022/05/06
1.2K0
React 设计模式 0x3:Ract Hooks
React Hooks 是在函数式组件中使用的生命周期方法,React Hooks 在 React 16.8 中被引入。在类组件中的生命周期方法已被合并成 React Hooks,React Hooks 无法在类组件中使用。
Cellinlab
2023/05/17
1.6K0
react 函数组件中 props应用
在 React 函数组件中,可以通过 props 对象来接收传递给组件的属性(props)。以下是一些常见的 props:
程序员王天
2023/10/18
1950
react hooks 全攻略
React Hooks 是 React 提供的一种功能,允许我们在函数组件中使用状态和其他 React 特性。使用 Hooks 可以简化函数组件中的状态管理和副作用处理。
程序员王天
2023/10/18
4590
在使用Hooks时,如何处理副作用和生命周期方法?
在使用React Hooks时,可以使用useEffect钩子来处理副作用和替代生命周期方法。useEffect钩子可以在组件渲染时执行副作用操作,根据需要进行清理。
王小婷
2023/10/07
2280
React Hooks 是什么
最近在重构 BadJS 的管理页面,使用 TypeScript + React Hooks 的技术栈,趁这个机会好好理一理 React Hooks 那些事儿。
李振
2021/11/26
3.2K0
React-Hooks-useEffect
定义了一个 App 组件,然后在当中用一个按钮来控制 Home 的显示与隐藏,然后呢,点击 Home 组件不同的按钮观察一下生命周期输出到控制台的信息即可。
杨不易呀
2023/10/01
1830
【react】203-十个案例学会 React Hooks
原文地址:https://github.com/happylindz/blog/issues/19
pingan8787
2019/07/23
3.1K0
React Hooks笔记:useState、useEffect和useLayoutEffect
useState 让函数组件也可以有 state 状态,并进行状态数据的读写操作。
德顺
2021/08/19
2.8K0
React Hooks笔记:useState、useEffect和useLayoutEffect
useState 让函数组件也可以有 state 状态,并进行状态数据的读写操作。
德顺
2023/08/25
3940
React Hooks 快速入门与开发体验(一)
Vue 3 推出 Composition API 的时候,看到一些表示这和 React Hooks 很像的评论。
贤羽
2022/06/09
1K0
react 使用 useEffect 方法替代生命周期API componentDidMount,componentDidUpdate 和 componentWillUnmount
useEffect 是react 新版本推出的一个特别常用的 hooks 功能之一,useEffect 可以在组件渲染后实现各种不同的副作用,它使得函数式组件同样具备编写类似类组件生命周期函数的功能.
fastmock
2022/07/13
2.3K0
React Hooks 学习笔记 | useEffect Hook(二)
一般大多数的组件都需要特殊的操作,比如获取数据、监听数据变化或更改DOM的相关操作,这些操作被称作 “side effects(副作用)”。
前端达人
2021/07/16
8.3K0
✍️【React巩固计划】写给自己的useEffect
虽然拿React写了很多项目,自己搭过也用过很多三方脚手架,比如Antd Pro Arco Pro TDesign Starter再例如跨端的Taro但是因为工期还有自身原因,一直没有时间去深入一下React的各个Hooks正好这次借着参加更文活动的机会激励一下自己可以每天下班空闲之余可以多读一些深入了解一些吧,如果正在读文章的你也和我类似的情况欢迎一起交流学习
Gnod
2022/08/23
8160
✍️【React巩固计划】写给自己的useEffect
【React巩固计划】写给自己的useEffect
虽然拿React写了很多项目,自己搭过也用过很多三方脚手架,比如Antd Pro Arco Pro TDesign Starter再例如跨端的Taro但是因为工期还有自身原因,一直没有时间去深入一下React的各个Hooks正好这次借着参加更文活动的机会激励一下自己可以每天下班空闲之余可以多读一些深入了解一些吧,如果正在读文章的你也和我类似的情况欢迎一起交流学习
Gnod
2022/09/23
7780
【React巩固计划】写给自己的useEffect
怎样对react,hooks进行性能优化?
现在越来越多人开始使用 React Hooks + 函数组件的方式构筑页面。函数组件简洁且优雅,通过 Hooks 可以让函数组件拥有内部的状态和副作用(生命周期),弥补了函数组件的不足。
beifeng1996
2022/10/03
2.2K0
点击加载更多

相似问题

refs数组在React中的useEffect清理函数中包含空值。

14

使用空数组响应UseEffect不触发返回函数

13

React空useEffect

138

React useEffect未触发且布局未更改

348

未触发React useEffect

114
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文