Reactjs 使用带酶的useState查询组件的内部状态

Reactjs 使用带酶的useState查询组件的内部状态,reactjs,enzyme,Reactjs,Enzyme,我用的是酶3.9.0 我刚刚将一个类组件重构为一个使用useStatehook的组件 我之前通过如下方式提取组件的内部状态来测试组件的内部状态: const shortcutActions = wrapper.state().shortcuts; expect(shortcutActions).toHaveLength(1); 当使用useState时,是否可以查询内部状态?挂钩是全新的,正在更新酶以支持它们 您可以在此处查看一般进度: 此处正在跟踪对useState的支持: 因此

我用的是酶3.9.0

我刚刚将一个类组件重构为一个使用
useState
hook的组件

我之前通过如下方式提取组件的内部状态来测试组件的内部状态:

const shortcutActions = wrapper.state().shortcuts;    

expect(shortcutActions).toHaveLength(1); 

当使用
useState
时,是否可以查询内部状态?

挂钩是全新的,正在更新酶以支持它们

您可以在此处查看一般进度:

此处正在跟踪对
useState
的支持:

因此,
useState
的当前支持级别为:

  • mount
    支持
    get
    和使用
    set
  • shallow
    支持
    get
    ,但不支持使用
    set

至于直接查询内部状态,我不确定这是否必要

发件人:

钩子在类内不起作用。但是您可以使用它们来代替编写类

…因此钩子只在
React
现在更喜欢调用
的“函数组件”
中工作

使用
useState
定义的任何状态将仅存在于函数体内部,且函数外部的任何对象都无法访问

修改该状态的唯一方法是与函数返回的渲染输出交互,因此测试函数组件应该只涉及与渲染组件交互并验证它是否按预期重新渲染