Reactjs 使用带酶的useState查询组件的内部状态
我用的是酶3.9.0 我刚刚将一个类组件重构为一个使用Reactjs 使用带酶的useState查询组件的内部状态,reactjs,enzyme,Reactjs,Enzyme,我用的是酶3.9.0 我刚刚将一个类组件重构为一个使用useStatehook的组件 我之前通过如下方式提取组件的内部状态来测试组件的内部状态: const shortcutActions = wrapper.state().shortcuts; expect(shortcutActions).toHaveLength(1); 当使用useState时,是否可以查询内部状态?挂钩是全新的,正在更新酶以支持它们 您可以在此处查看一般进度: 此处正在跟踪对useState的支持: 因此
useState
hook的组件
我之前通过如下方式提取组件的内部状态来测试组件的内部状态:
const shortcutActions = wrapper.state().shortcuts;
expect(shortcutActions).toHaveLength(1);
当使用
useState
时,是否可以查询内部状态?挂钩是全新的,正在更新酶以支持它们
您可以在此处查看一般进度:
此处正在跟踪对useState
的支持:
因此,useState
的当前支持级别为:
支持mount
和使用get
set
支持shallow
,但不支持使用get
set
至于直接查询内部状态,我不确定这是否必要 发件人: 钩子在类内不起作用。但是您可以使用它们来代替编写类 …因此钩子只在
React
现在更喜欢调用的“函数组件”
中工作
使用useState
定义的任何状态将仅存在于函数体内部,且函数外部的任何对象都无法访问
修改该状态的唯一方法是与函数返回的渲染输出交互,因此测试函数组件应该只涉及与渲染组件交互并验证它是否按预期重新渲染