use-effect相关内容
StackOverflow, 我有一个关于 React Hooks 的问题,尤其是 useEffect 钩子.我知道 useEffect 钩子的一个用例是捕获某些状态变量的变化. 假设我们有以下代码: const MyComponent = () =>{const [sv, setSv] = useState([{一:1,b: { c: 'val11', d: 'val12', e:
..
我尝试在 useEffect 中使用 useState 设置状态没有问题,代码如下: import React, {useState, useEffect} from 'react';const Banner = () =>{const [title, setTitle] = useState([]);useEffect(() => {异步函数 fetchData() {const api
..
我正在构建一个原型,用于在 React 中获取 Spotify 用户的播放列表数据.数据获取在 useEffect 钩子内完成并设置播放列表变量的状态.因此,我想呈现每个播放列表的名称.但是,似乎只有在渲染后才获取数据,从而导致问题,因为在渲染之前未设置状态,因此未定义播放列表变量.如何在继续使用 React 钩子的同时解决这个问题?我的代码如下. import './App.css'从“查询字
..
我已经被卡住了几个小时......我正在尝试发送一个组件新道具......但它不会得到新道具. 这是发生了什么. 首先,用户单击帖子组件上的按钮...它会触发功能,在下面的父组件上“添加收藏夹"和“添加收藏夹".这两个函数决定是否应该将用户添加到收藏夹或从收藏夹中删除用户. 当用户被添加为收藏时,他们在 searchResults 组件内单击的按钮会显示不同的颜色.问题是他们必须
..
有没有办法避免更新 useEffect 中的回调?.例如,我订阅了一个 geofire,这将侦听更改并接收位置. 我需要更新我的状态,而不需要在每次更新时都订阅. 当前行为 订阅了 geofire 并接收位置 (A) 使用新位置 (A) 更新我的状态 再次订阅 geofire 并接收位置 (A) 这是一个无限循环.而我无法接收其他位置 预期行为 仅订阅 ge
..
我有一个模态对话框,如果用户在模态之外单击,我想关闭该对话框.我编写了以下 useEffect 代码,但遇到以下问题: 模态对话框包含许多子节点(反应节点),这些子节点可能会更改(例如,用户删除列表中的条目).这些交互触发了我的 onClick 方法,但由于单击列表项已从模态中删除,即使单击在模态内,模态也会关闭. 我认为在 useEffect 的第二个参数中添加 [ children
..
我的应用程序的删除功能工作正常,但是它需要用户在用户单击删除按钮后手动刷新页面才能查看我数据库中的新元素列表.我想在点击事件后自动刷新.我正在为这个项目使用 React 钩子.但是,如果我删除 useEffect's [] ,我找到了一种解决方案,但在我的后端显示,它疯狂地请求.不知道,去掉useffect的[]是否明智? 这是从后端获取数据并将道具传递给另一个组件的组件 import
..
我正在从数据库中获取详细信息,希望将其显示到表格中,但出于最初的目的,我只想在浏览器上显示而没有表格和其他东西.我正在获取 values.map 不是一个函数,但我可以看到打印的值在控制台中 这里使用的是函数组件 导出默认函数 SimpleTable() {const [values, setValues] = useState({}); 这里是获取函数 异步函数handleTable
..
示例代码 导出函数useShape(){const [状态,设置状态] = useState({形状:'方形',尺寸: {宽度:100,高度:100}})//在大小更新时更改形状名称useEffect(()=>{const {size: {width, height}} = 状态设置状态({...状态,形状:宽度===高度?'正方形':'矩形'})}, [状态, state.size])} 预
..
我想将其转换为 useEffect 钩子: 代码 componentDidMount(){this.messagesRef.on('child_ added', 快照 => {const message = snapshot.val();消息.key = 快照.key;this.setState({messages: this.state.messages.concat(message)}
..
我一直遇到错误“React Hook useEffect 缺少依赖项";我正在尝试在 React 中保存到本地并且我的应用程序正在运行,但由于此警告,我无法部署它.警告是:**React Hook useEffect 缺少依赖项:'saveLocalTodos'.包括它或删除依赖数组**我的代码是: //应用启动时运行一次useEffect(() => {getLocalTodos();},
..
我基本上正在学习 Jest,我必须为 useEffect() 钩子编写一个测试用例,该钩子基于 flag[counter] 进行渲染,并在内部检查某个字段是否存在 localStorage 值. 函数示例(道具){const 计数器 = 道具;const [displayIcon, setDisplayIcon] = useState(counter);函数 isLocalstoragePres
..
我正在尝试像这样使用 useEffect 函数: const [data, setData] = useState({ course: [] });useEffect(async() => {const 结果 = 等待 axios.get(“http://example.com/api/v1/categories/");等待 setData(result.data);}, []);控制台日志(
..
例如,如果我有组件 A 和 B,并且组件 B 是组件 A 的子级: 在 A 中,我们有: useEffect(() => {console.log('Parent A useEffect')}) 在 B 中,我们有: useEffect(() => {console.log('Child B useEffect')}) 我做了一些测试,我看到了两件事: 在第一次
..
我试图通过道具将对象传递给子组件.该值在 useEffect 钩子中设置并在传递给我的子组件时丢失. 我已经尝试在一个单独的函数中设置 useEffect 钩子之外的对象的值,但该值仍然丢失. import React, { useState, useEffect } from 'react';函数设置值(道具){让用户 = {};useEffect(() => {用户 = { 用户:'鲍
..
我有一个父组件,我用它来将道具(即 backgroundColor)传递给子组件(). 在我的子组件中,我有一个依赖数组,每次从父组件更改颜色时都会重新渲染,即 (props.backgroundColor). 现在我不想在每次渲染时都创建一个新图表,如果图表存在,只需应用颜色选项. 非常感谢您的帮助!谢谢. 父组件 const
..
我有这个代码,我的问题是为什么在我的答案函数中我得到了初始状态.如何以正确的方式设置状态以在 setTimeout 函数的回调中获得正确的状态? const App = () =>{const [状态,设置状态] = useState({名称:“",密码:“",});useEffect(() => {setState({ ...state, 密码: “你好"});设置超时(答案,1000);},
..
如果按下左右箭头键,下面的组件将设置状态.因为每个按键都会执行两个设置状态,所以会导致一些性能问题.如何在不设置状态或仅设置一种状态的情况下更改按键? import { useState, useEffect } from “react";导出函数 useKeyPress(targetKey) {const [keyPressed, setKeyPressed] = useState(false
..
我现在正在用 React 构建一个旋转木马.要滚动到单个幻灯片,我使用 document.querySelector 像这样: useEffect(() => {document.querySelector(`#slide-${activeSlide}`).scrollIntoView({行为:“平稳",块:'最近的',内联:'最近的'});}, [activeSlide]); 这是不好的做法
..
我不明白为什么 React 不更新我的对象.在另一个组件中通过调度更新状态.在此(在下面的代码中)中,mapStateToProps 类别中的代码正在更改(控制台日志显示另外一个类别).但是组件没有重新渲染,虽然在 useEffect 的组件中我使用了 props.categories.元素中的事件 console.log 不运行 const LeftSidebar = (props: any)
..