当前位置: 首页 > 面试题库 >

当使用'useState'钩子时,有什么方法可以使用React DevTools在React多状态下查看'fields'的名称

南门欣怡
2023-03-14
问题内容

我一直在学习/使用React钩子进行实验。当我去使用Chrome中的React
DevTools检查组件当前状态的值时,我看到状态很好,但是实际的“字段”(即由各个useState钩子更新的状态变量)没有与之关联的任何名称。相反,我看到的,例如,几个字符串,一对夫妇布尔值,等等。我一般都弄清楚是怎么回事,但是这似乎有问题-
我希望能够看到 状态变量的名字是什么。

例如,如果我有类似的东西

const [doughnuts, setDoughnuts] = useState(24)

当我查看React DevTools时,我想看到的是“甜甜圈:数字:24”,而不仅仅是“数字:24”。

我是否缺少某个地方的设置或某种技巧来启用此功能?


问题答案:

您不会丢失任何东西,并且无法更改此行为。这就是React处理多个状态的方式。

https://reactjs.org/docs/hooks-
rules.html#explanation

避免此问题的一种方法是使用单个状态挂钩,该挂钩创建包含所有数据的单个状态。

const [state, setState] = useSate({doughnuts: 24, key1: 'value1', key2: 'value2'});

在这种情况下,状态存储在单个对象中,并且每个值都与一个键相关联。

看一下这个:我应该使用一个还是多个状态变量?

复合状态很难管理,但是有一个工具可以帮助您:useReducer Hook



 类似资料:
  • 我想用React useState钩子设置多个状态值,这样我就可以用useEffect钩子分别更新它们。我有以下代码: 但是当我用React DevTools检查应用程序时,我会看到钩子的多个“状态”值,而不是“订单”、“支付”、“提交”等。

  • 问题内容: 我正在React中尝试新的Hook功能。考虑到我有以下两个组件(使用React Hooks)- Hooks声称要解决在组件之间共享有状态逻辑的问题,但是我发现和之间的状态不可共享。例如,in 的更改不会导致in的更改。 使用挂钩可以在组件之间共享状态吗? 问题答案: 如果您指的是组件状态,则挂钩将无法帮助您在组件之间共享它。组件状态是组件本地的。如果您的州生活在上下文中,那么钩子会有所

  • 我第一次面对的问题很小。我试图使用一个简单的useState,但出于某种原因,我不明白为什么React会给我一个错误,不管我想做什么--没有什么能修复它。 这是错误的图像:错误描述: 错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一:1.React和呈现器(例如React DOM)2的版本可能不匹配。你可能违反了钩子3的规则。在同一个应用程序中可能有多个React副

  • 问题内容: 我发现React Hooks文档的这两部分有些令人困惑。使用状态挂钩更新状态对象的最佳实践是哪一种? 想象一下要进行以下状态更新: 选项1 从使用React Hook的文章中,我们可以做到: 所以我可以做: 然后: 选项2 从钩子参考中我们可以得出: 与类组件中的setState方法不同,useState不会自动合并更新对象。您可以通过将函数更新程序形式与对象传播语法结合使用来复制此行

  • 我发现这两个反应钩文档有点混乱。使用状态钩子更新状态对象的最佳实践是哪一个? 假设一个用户希望进行以下状态更新: 选择1 从使用React Hook一文中,我们可以看出这是可能的: 所以我可以做: 然后呢: 选择2 从Hooks参考中我们得到: 与类组件中的setState方法不同,useState不会自动合并更新对象。通过将函数更新程序窗体与对象扩展语法相结合,可以复制此行为: 据我所知,两者都

  • 我正在React中使用useState钩子,状态将不会在