react-hooks相关内容

如何在反应钩子上使用`setState`回调

React hooks 引入了 useState 来设置组件状态.但是我如何使用钩子来替换如下代码的回调: setState({名称:“迈克尔"},() =>控制台日志(这个状态)); 我想在状态更新后做点什么. 我知道我可以使用 useEffect 来做额外的事情,但我必须检查状态以前的值,这需要一些代码.我正在寻找一个可以与 useState 钩子一起使用的简单解决方案. 解决 ..
发布时间:2021-07-03 19:14:26 其他开发

使用钩子时 React 批处理状态更新功能吗?

对于类组件,this.setState 在事件处理程序内部调用批处理.但是如果状态在事件处理程序之外更新并使用 useState 钩子会发生什么? function Component() {const [a, setA] = useState('a');const [b, setB] = useState('b');函数 handleClick() {Promise.resolve().the ..
发布时间:2021-07-03 19:14:23 其他开发

如何操作上下文 - 将函数附加到上下文或在钩子中包装调度?

我想知道操作和公开新的 React Context 的推荐最佳实践是什么. 操纵上下文状态的最简单方法似乎是将一个函数附加到上下文中,该函数可以调度 (usereducer) 或设置状态 (useState) 以更改其内部值一次调用. export const TodosProvider: React.FC= ({儿童}) =>{const [state, dispatch] = useR ..
发布时间:2021-07-03 19:13:39 其他开发

结合不使用 Redux 的 Reducer

我有一个没有 redux 的应用程序,我使用钩子和钩子 useReducer + 上下文处理全局状态.我有 1 个 useReducer,它就像一个 Redux 商店.但要做到这一点,我只能发送 1 个减速器.在那个减速器中,我拥有状态的所有逻辑,但我想在其他减速器中分离该减速器的一些功能.在 redux 中有 combineReducer 来做到这一点.但是使用钩子+上下文,我该怎么做?如何在 ..
发布时间:2021-07-03 19:13:36 其他开发

带有 React Hook 的 HoC

我正在尝试使用 Context API 从 class component 移植到 react hooks,但我不知道什么是得到错误的具体原因. 首先,我的代码: //上下文/sample.jsximport React, { createContext, useState, useContext } from 'react'const SampleCtx = createContext( ..
发布时间:2021-07-03 19:13:24 前端开发

在打字稿中反应 createContext 问题?

所以我在 React Context + Typescript 上遇到了一个非常奇怪的问题. 工作示例 在上面的例子中,你可以看到我正在尝试做的实际工作.本质上,我正在使用新的 useContext 方法管理状态,并且它运行良好. 但是,当我尝试在我的盒子上执行此操作时,它似乎无法找到通过 useReducer 传递的状态值. 导出函数 AdminStoreProvider(p ..
发布时间:2021-07-03 19:12:40 其他开发

无法读取未定义的属性“历史"(React Router 5 的 useHistory 钩子)

我正在使用 React Router 的新 useHistory 钩子,它是几周前发布的.我的 React-router 版本是 5.1.2.我的 React 版本是 16.10.1.你可以在底部找到我的代码. 然而,当我从 react-router 导入新的 useHistory 时,出现此错误: 未捕获的类型错误:无法读取未定义的属性“历史" 这是由 React-router ..

如果部分状态发生变化,如何停止反应重新渲染组件?

如果只有部分状态改变,有没有办法停止反应重新渲染? 问题是,每次我将鼠标悬停在标记上时,都会打开或关闭一个弹出窗口,即使 mystate 不只更改 activePlace状态正在改变.console.log(myState); 每次我将鼠标悬停在标记内外时都会运行. 我尝试使用 useMemo 钩子,但不知道如何使用它.有什么帮助吗? 这是我的代码: import React, ..

Reactjs:如何从依赖于子组件状态的父组件中的方法访问子组件的状态

我需要访问父组件中定义的方法 handleCancelEdit().但是,这里的问题是每个子组件都有自己的 cancelEdit 状态.现在,发生的事情是,如果我从一个子组件调用 handleCancelEdit() ,所有其他相同的子组件都会获取状态并更新自己(该方法尚未完全定义).所以,我在子组件中定义了cancelEdit状态,认为它只属于这个子组件. 现在,我如何让 handleCa ..
发布时间:2021-07-03 19:12:12 前端开发

使用 React 钩子将 setState 传递给子组件

我很好奇将 setState 作为道具传递给子组件(哑组件)是否违反了任何“最佳实践"或会影响优化. 这是一个示例,我让父容器将 state 和 setState 传递给两个子组件,其中子组件将调用 setState 功能. 我没有在子进程中显式调用 setState,它们引用了一个服务来处理状态属性的正确设置. 导出默认函数 Dashboard() {const [状态,设置状态] ..

反应 - 错误:无效的钩子调用.Hooks 只能在函数组件内部调用

我想使用 “React Bootstrap 汉堡菜单" HamburgerMenu 从那里复制了代码,我收到一个错误 errorScreen"错误:无效的钩子调用.钩子只能在函数组件的主体内部调用.这可能是由于以下原因之一造成的: 您的 React 和渲染器版本可能不匹配(例如 React DOM) 你可能违反了钩子规则 您可能在同一个应用中拥有多个 React 副本有关提示,请参阅 h ..
发布时间:2021-07-03 19:10:16 前端开发

“比上一次渲染时渲染了更多的钩子"当钩子的初始值是来自数据库的查询结果时出错

我正在使用 React 的钩子,并且我想要一个从数据库中检索到的值作为初始值.但是,我收到以下错误: Invariant Violation:Invariant Violation:渲染的钩子比在上一次渲染期间. const { data, loading, error } = useQuery(GET_DATA)const { initialValue } = 数据const [valu ..
发布时间:2021-07-03 19:06:35 其他开发

如何使用 useQuery 钩子填充其他钩子中的状态?

我最近一直在处理一些与钩子相关的问题,因为我一直在我的一个项目中实施钩子.我不断收到错误“渲染的钩子比上一次渲染时更多." 似乎让我的代码工作的唯一方法是将 useQuery 钩子放在所有其他钩子之后.然而,这是一个问题,因为我想用查询数据中的值填充一些状态值. //不会出错的代码,但无法使用查询值初始化状态const [url, setUrl] = useState('')const u ..
发布时间:2021-07-03 19:06:23 其他开发

如何从 Apollo set Context Http Link 访问 React 上下文

我正在尝试访问我的 Apollo 客户端的 setContext 函数中的反应上下文值.我希望能够使用反应上下文值动态更新每个 graphql 请求的标头.但是我遇到了一个错误,日志中没有可见的错误消息.我正在尝试做的可能吗? import React, { useState, useContext } from "react";从“react-dom"导入{渲染};从“apollo-clien ..

JavaScript 中函数类的默认处理程序

我想知道是否可以让函数类具有默认调用方法.让我详细说明一下. function Foo(){/*一些逻辑*/Foo.prototype.aletUser = 函数 alertUser(message) {警报(消息);}} 假设上面的代码是我的函数类(如果我对上面结构的命名有误请告诉我),并且我实例化了这个结构之一. let param = new Foo(); 现在,我希望调用以下代码并 ..
发布时间:2021-06-22 20:10:29 前端开发