- ReactJS 菜鸟教程
- ReactJS 教程
- ReactJS - 简介
- ReactJS - 安装
- ReactJS - 特性
- ReactJS - 优点和缺点
- ReactJS - 架构
- ReactJS - 创建 React 应用程序
- ReactJS - JSX
- ReactJS - 组件
- ReactJS - 嵌套组件
- ReactJS - 使用组件
- ReactJS - 组件集合
- ReactJS - 样式
- ReactJS - 属性(props)
- ReactJS - 使用属性创建组件
- ReactJS - props 验证
- ReactJS - 构造函数
- ReactJS - 组件生命周期
- ReactJS - 事件管理
- ReactJS - 创建事件感知组件
- ReactJS - 在Expense Manager APP中引入事件
- ReactJS - 状态管理
- ReactJS - 状态管理 API
- ReactJS - 无状态组件
- ReactJS - 使用 React Hooks 进行状态管理
- ReactJS - 使用 React 钩子的组件生命周期
- ReactJS - 组件的布局
- ReactJS - 分页
- ReactJS - Material 用户界面
- ReactJS - Http 客户端编程
- ReactJS - 表单编程
- ReactJS - 受控组件
- ReactJS - 不受控制的组件
- ReactJS - Formik
- ReactJS - 条件渲染
- ReactJS - 列表
- ReactJS - 键
- ReactJS - 路由
- ReactJS - 冗余
- ReactJS - 动画
- ReactJS - 引导程序
- ReactJS - 地图
- ReactJS - 表格
- ReactJS - 使用 Flux 管理状态
- ReactJS - 测试
- ReactJS - CLI 命令
- ReactJS - 构建和部署
- ReactJS - 示例
- ReactJS - 钩子简介
- ReactJS - 使用 useState
- ReactJS - 使用 useEffect
- ReactJS - 使用 useContext
- ReactJS - 使用 useRef
- ReactJS - 使用 useReducer
- ReactJS - 使用 useCallback
- ReactJS - 使用 useMemo
- ReactJS - 自定义钩子
- ReactJS - 可访问性
- ReactJS - 代码拆分
- ReactJS - 上下文
- ReactJS - 错误边界
- ReactJS - 转发引用
- ReactJS - 片段
- ReactJS - 高阶组件
- ReactJS - 与其他库集成
- ReactJS - 优化性能
- ReactJS - 分析器 API
- ReactJS - 门户
- ReactJS - 没有 ES6 ECMAScript 的 React
- ReactJS - 没有 JSX 的 React
- ReactJS - 协调
- ReactJS - 引用和 DOM
- ReactJS - 渲染属性
- ReactJS - 静态类型检查
- ReactJS - 严格模式
- ReactJS - Web 组件
- ReactJS - 日期选择器
- ReactJS - Helmet
- ReactJS - 内联样式
- ReactJS - 属性类型
- ReactJS - 浏览器路由器
- ReactJS - DOM
- ReactJS - 旋转木马
- ReactJS - 图标
- ReactJS - 表单组件
- ReactJS - 参考 API
ReactJS - findRenderedDOMComponentWithTag()
在 React 中,有一个有用的函数叫做 findRenderedDOMComponentWithTag()。此功能就像一个特殊的侦探,在我们应用程序的虚拟世界中搜索称为标签的特定组件。
当我们使用 findRenderedDOMComponentWithTag() 时,我们告诉计算机程序在应用程序的虚拟表示中找到特定标签,该标签称为 DOM(文档对象模型)。
该函数检查该确切的标记。最有趣的部分是,它希望找到恰好一个匹配项。如果有多个或没有,则会引发异常。
语法
findRenderedDOMComponentWithTag( tree, tagName )
参数
- tree - 这充当我们虚拟环境的地图,显示所有元素以及它们是如何链接的。
- tagName - 它是我们在虚拟环境中寻找的标签的名称。
返回值
函数 findRenderedDOMComponentWithTag() 给出一个结果。当我们使用这个函数时,我们告诉我们的计算机程序在我们应用程序的 DOM 中找到特定的 HTML 标签(如 div>、<span> 等)。该方法期望仅识别所提供标记的一个匹配项。如果它检测到多个或没有,它将引发异常,指示某些内容未达到应有的状态。
例子
示例 - 查找标题
假设我们有一本虚拟书,我们想找到标题,这是一个标题 (h1) 标签。因此,为了执行此任务,我们将使用 findRenderedDOMComponentWithTag(tree, 'h1')。所以下面是这个应用程序的代码 -
// Import required libraries
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';
// App component
const App = () => {
return (
<div>
<h1>Title of the Book</h1>
</div>
);
};
// Test case
const { container } = render(<App1 />);
const headingElement = findRenderedDOMComponentWithTag(container, 'h1');
console.log(headingElement.textContent);
输出
此程序的目标是使用 findRenderedDOMComponentWithTag() 函数查找和显示该标题。当我们要求应用程序找到标题(h1 标签)时,它应该返回短语“书名”。
示例 - 定位按钮
让我们想象一下,在这个应用程序中我们有一堆按钮。要查找特定按钮并与之交互,请使用 findRenderedDOMComponentWithTag(tree, 'button')。
// Import necessary libraries
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';
// App component
const App = () => {
return (
<div>
<button onClick={() => console.log('Button 1 is clicked')}>Button 1</button>
<button onClick={() => console.log('Button 2 is clicked')}>Button 2</button>
</div>
);
};
// Test case
const { container } = render(<App />);
const buttonElement = findRenderedDOMComponentWithTag(container, 'button');
buttonElement.click();
输出
程序中有两个按钮,一个标记为“按钮 1”,另一个标记为“按钮 2”。这里的目标是使用 findRenderedDOMComponentWithTag() 函数查找这些按钮并与之交互。当我们按下按钮时,它应该显示一条消息,例如“单击按钮 1”。
示例 3
让我们创建一个应用程序,其中包含一些图像。为了找到特定的图像,我们将使用 findRenderedDOMComponentWithTag(tree, 'img')。
// Import required libraries
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';
// App component
const App = () => {
return (
<div>
<img src="image1.jpg" alt="This is Image 1" />
<img src="image2.jpg" alt="This is Image 2" />
</div>
);
};
// Test case
const { container } = render(<App />);
const imageElement = findRenderedDOMComponentWithTag(container, 'img');
console.log(imageElement.getAttribute('alt'));
输出
在此应用程序中,有两张照片,每张照片都显示不同的东西。目的是使用 findRenderedDOMComponentWithTag() 函数识别和显示有关这些图像的信息。例如,当我们找到一张图片时,它应该告诉我们它是什么。如果它是第一个图像,它可以说“这是图像 1”。
总结
findRenderedDOMComponentWithTag() 方法充当数字浏览器,帮助我们在应用的虚拟环境中定位特定项目。它确保我们得到我们想要的。因此,此功能使我们的编码体验变得简单。记住要小心使用它,并期望它只找到一件事。如果有更多或更少,它会通知我们。