首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用useState结合酶查询组件的内部状态

使用useState结合酶查询组件的内部状态
EN

Stack Overflow用户
提问于 2019-03-24 22:50:54
回答 1查看 1.1K关注 0票数 2

我使用的是酶3.9.0。

我刚刚将一个类组件重构为一个使用useState钩子的组件。

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

代码语言:javascript
复制
const shortcutActions = wrapper.state().shortcuts;    

expect(shortcutActions).toHaveLength(1); 

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-25 02:41:25

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

你可以在这里跟随一般的进度:Issue #2011

在这里可以追踪到对useState的特别支持:Issue #2008

因此,目前对useState的支持级别是:

  • mount支持使用set
  • shallow更新get和呈现元素,但还不支持使用set

更新呈现元素,支持get

至于直接查询内部状态,我不确定有没有必要。

来自this section

不能在类内部工作。但是您可以使用它们而不是编写类。

...so钩子只能在React现在喜欢称为"function components"的地方工作。

使用useState定义的任何状态都将只存在于函数体中,并且不能由函数外部的任何内容访问。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55325024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档