在 jsdom 测试中卸载/销毁组件

2024-04-02

有没有办法卸载和垃圾收集使用安装的 React 组件TestUtils.renderIntoDocument在 jsdom 测试中?

我正在尝试测试发生的事情componentWillUnmount and TestUtils.renderIntoDocument不返回任何 DOM 节点来调用React. unmountComponentAtNode on.


不,但您可以简单地使用ReactDOM.render手动:

var container = document.createElement('div');
ReactDOM.render(<Component />, container);
// ...
ReactDOM.unmountComponentAtNode(container);

这正是ReactTestUtils 到底做了什么 https://github.com/facebook/react/blob/87bcbff/src/test/ReactTestUtils.js#L50-L58,所以如果您需要对容器的引用,没有理由不这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 jsdom 测试中卸载/销毁组件 的相关文章

随机推荐

  • 使用 Paypal IPN 订阅

    我正在使用 Paypal IPN 添加订阅到网站 效果非常好 我可以成功创建新订阅并验证它 该订阅有两周的免费试用期 不幸的是 该指南对订阅状态的描述有点含糊 目前 一旦收到 subscr signup 或 subscr payment 用
  • 什么会导致 Java 在 System.exit() 之后继续运行?

    我有一个 Java 程序 正在通过以下方式启动ProcessBuilder来自另一个 Java 程序 System exit 0 是从子程序调用的 但对于我们的一些用户 在 Windows 上 java exe与子进程关联的进程不会终止 子
  • Visual Studio 2015 项目缺少所有引用

    从今天开始 一个属于有20个项目的解决方案的WPF项目 将我的所有引用设置为缺失 我刚刚检查了 MS 的建议和 Stackoverflow 上的其他答案 但没有一个起作用 我尝试从 SVN 重新获取解决方案 但没有运气 其他同事没有遇到这个
  • 如何修复:致命异常:main android.os.NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 我在 android 版本 18 上运行我的代码时遇到问题 我已经使用了 AsyncTask 但仍然收到错误 请帮助 我是编程新手 所以请原谅我的错误 package com example androidhiv
  • 提取 git 提交中更改的所有文件

    我需要为某人制作一个补丁 他们没有使用 git 由提交更改的文件的 zip 我想像 git archive format zip commitguid gt myfiles zip 但这会提取整个内容 而不仅仅是更改的文件 有什么办法可以做
  • 如何使用 Cocoa UI 制作 Java 应用程序?

    我必须在项目中使用 Java API 但由于我不喜欢 Java UI 并且我有一台 Mac 所以我想围绕 Java 代码构建一个本机 Cocoa 应用程序 我知道 Xcode 曾经为此类事情提供直接支持 但由于它不再提供 那么最好的方法是什
  • 在android webview中全屏播放HTML5视频

    好吧 我已经搜索了几天了 如何在 android WebView 上以全屏模式显示 HTML5 视频 我设法在我的网络视图上播放 HTML5 视频 以全屏模式显示视频时会出现问题 正如我所发现的 android 有两种处理 标签的方法 在
  • 将 Canvas 内容导出为 PDF

    我正在使用 HTML5 Canvas 做一些事情 一切都工作得很好 除了现在 我可以使用 Canvas2image 将画布内容导出为 PNG 但我想将其导出为 PDF 我做了一些研究 我很确定这是可能的 但我似乎无法理解我需要在代码中更改什
  • 网络共享的锁定行为有所不同

    我一直在尝试锁定文件 以便其他克隆服务无法访问该文件 然后我读取该文件 完成后移动该文件 通过使用允许移动FileShare Delete 然而 在后来的测试中 我们发现如果我们正在查看网络共享 则这种方法不起作用 我知道我的方法可能不是最
  • iPhone/iOS自定义控件

    我想知道如何从头开始创建自定义 iPhone 控件 或者使用现有的库或框架 我已经看到了 Three20 库 以及 Tapku 和 Touch Customs 它们对于专门的 iOS 控件 例如表格视图等 非常有用 但我在这里讨论的是制作完
  • Laravel - 如何设置 morphOne 关系

    我正在尝试为类别实现一个可变形表 现在我有以下内容 Snippet Table id title body Post Table id title body Category Table id name 我希望能够将帖子和片段改为只有一个类
  • 2038 年问题 - 64 位(Linux 操作系统、php、mysql)[重复]

    这个问题在这里已经有答案了 select unix timestamp 2038 01 19 回报2147472000 while select unix timestamp 2038 01 20 回报0 我查了一下年份2038问题 我的l
  • hibernate ManyToMany 与可连接的顺序

    我有以下数据库设置 T PARTICIPANT MOVEMENT ParticipantMove SID BigInt PK Participant SID BigInt FK MoveType SID BigInt FK MoveReas
  • cygdb ImportError:没有名为“Cython”的模块

    我想调试我的 Cython 代码并按照描述的确切步骤进行操作here http docs cython org src userguide debugging html 我的 Cython 代码编译 cython gdb xxx pyx进而
  • R strptime/as.POSIXct 中的未知时区名称

    在哪里可以找到 R 函数的所有合法时间名称的列表as POSIXct as POSIXct 1970 01 01 tz CST 生成一条警告 指出 CST 中部标准时间 未知 时区的东西可以驱动你NUTS 由于位于德国 我过去常常这样做来设
  • ASP.NET MVC:ValueProvider 的执行顺序

    我想知道不同的执行顺序ValueProviders在 ASP NET MVC 中 价值提供者 查询字符串值提供者 路由数据值提供者 表单值提供者 我没有找到信息 如果我没记错的话 优先顺序是这样的 请求中的表单数据 路线数据 请求参数 Ht
  • Matplotlib:图例未正确显示

    我有不同类别的数据点 我想将其可视化 这是我得到的图像 https i stack imgur com qwCLC jpg https i stack imgur com qwCLC jpg 有 10 个类别的 3000 个数据点 每个类别
  • opencv矩阵数据能保证连续吗?

    我知道 OpenCV 矩阵中包含的数据不能保证是连续的 为了让自己清楚 这里有一段Opencv 文档 https docs opencv org 3 4 0 d3 d63 classcv 1 1Mat html details OpenCV
  • 将 EF4 与 Caliburn.Micro 绑定:我应该将我的实体公开为 ViewModel 的属性吗?

    使用 Caliburn Micro 我想知道将 EF4 实体公开为 ViewModel 的属性 讨论过的一种技术 的优缺点here http kboek blogspot com 2011 01 activerecord caliburn
  • 在 jsdom 测试中卸载/销毁组件

    有没有办法卸载和垃圾收集使用安装的 React 组件TestUtils renderIntoDocument在 jsdom 测试中 我正在尝试测试发生的事情componentWillUnmount and TestUtils renderI