问题标签 [react-hooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
109118 浏览

javascript - React Hooks 错误:只能在函数组件的主体内调用 Hooks

useState使用钩子时出现此错误。我有它的基本形式,查看反应文档以获取参考,但仍然收到此错误。我已经准备好面对掌心时刻了......

0 投票
4 回答
7758 浏览

javascript - Can we use object destructuring for useState() in reactjs hooks?

As from the documentation from Hooks in Reactjs,

they use array destructuring. Can we use object destructuring in place of array destructuring?

0 投票
4 回答
37421 浏览

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

对于类组件,this.setState如果在事件处理程序内部调用批处理。但是如果状态在事件处理程序之外更新并使用useState钩子会发生什么?

它会立即渲染aa - bb吗?或者它将是aa - b然后aa - bb

0 投票
3 回答
10306 浏览

javascript - 反应钩子:什么/为什么`useEffect`?

关于新提出的React Effect Hook

  1. Effect钩子( )的优点和用例是useEffect()什么?

  2. 为什么它会更好?它在componentDidMount/componentDidUpdate/componentWillUnmount(性能/可读性)方面有何不同?

该文件指出:

函数组件的主体(称为 React 的渲染阶段)中不允许发生突变、订阅、计时器、日志记录和其他副作用。

但我认为在 componentDidUpdate 等生命周期方法中而不是在 render 方法中具有这些行为已经是常识。

还有人提到:

传递给 useEffect 的函数将在渲染提交到屏幕后运行。

但这不是做什么componentDidMountcomponentDidUpdate做的吗?

0 投票
0 回答
657 浏览

reactjs - 在 React 16.7.0-alpha 中导入自定义钩子时出错

一直在使用新的钩子 RFC 进行反应,但无法让我的自定义钩子正常工作。不知道到底发生了什么,还是 React alpha 本身的错误。

我一直在尝试创建一个点击外部钩子。我能够让它与这段代码一起工作。

./dropdown_builtin_hooks

但是,当我尝试将其包装在自定义挂钩中时,我可以重用并将其导入到我的组件中。像这样的东西...

./钩子

./dropdown_custom_hook

起初我认为这是热重新加载的问题,但删除后我仍然收到此错误:

未捕获的错误:只能在函数组件的主体内调用挂钩。

我只有在使用导入和导出时才会遇到这个问题。如果我复制相同的自定义钩子函数并将其粘贴到我的组件上方,它可以正常工作。

我假设我在做一些愚蠢的事情或者没有足够好地阅读文档。

干杯

0 投票
8 回答
25739 浏览

javascript - React Hooks - 发出 Ajax 请求

我刚刚开始使用 React 钩子,想知道 AJAX 请求应该是什么样子?

我已经尝试了很多尝试,但无法让它发挥作用,也并不真正知道实现它的最佳方法。以下是我的最新尝试:

0 投票
3 回答
42894 浏览

javascript - React Function Components with hooks vs Class Components

随着 React 中钩子的引入,现在主要的困惑是何时使用带有钩子和类组件的函数组件,因为借助钩子,即使在函数组件中也可以获取state和部分。lifecycle hooks所以,我有以下问题

  • 钩子的真正优势是什么?
  • 何时使用带有钩子的函数组件与类组件?

例如,带有钩子的函数组件不能像类组件那样帮助提高性能。他们不能跳过重新渲染,因为他们没有shouldComponentUpdate实现。还有原因吗?

提前致谢。

0 投票
2 回答
260 浏览

reactjs - 增加打字稿中的反应类型的问题

我正在尝试添加新的钩子以在打字稿中做出反应(最后我检查过,它们在 DefinedTyped 上不可用),但它不起作用。

我制作了一个types/react.d.ts如下所示的文件:

但是当我尝试使用它时,它不起作用。

在此处输入图像描述

0 投票
16 回答
143699 浏览

reactjs - useEffect 中的无限循环

我一直在玩 React 16.7-alpha 中的新钩子系统,当我正在处理的状态是对象或数组时,我在 useEffect 中陷入了无限循环。

首先,我使用 useState 并使用这样的空对象启动它:

然后,在 useEffect 中,我再次使用 setObj 将其设置为空对象。作为第二个参数,我传递 [obj],希望如果对象的内容没有更改,它不会更新。但它一直在更新。我猜是因为无论内容如何,​​这些都是不同的对象,让 React 认为它在不断变化?

数组也是如此,但作为一个原语,它不会像预期的那样陷入循环。

使用这些新的钩子,在检查天气内容是否发生变化时,我应该如何处理对象和数组?

0 投票
2 回答
10101 浏览

reactjs - 使用 useContext 挂钩时如何访问提供者值

当我真的想拉 ctx.age 时,ctx 现在返回 undefined

基本上我想使用钩子访问我的提供者中的状态值,我该怎么做?