ReactJS 教程

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 事件 ReactJS 状态管理 ReactJS 状态管理 API ReactJS 无状态组件 ReactJS Hooks 进行状态管理 ReactJS Hooks 的组件生命周期 ReactJS 布局组件 ReactJS 分页 ReactJS Material UI ReactJS Http 客户端编程 ReactJS 表单编程 ReactJS 受控组件 ReactJS 非受控组件 ReactJS Formik ReactJS 条件渲染 ReactJS 列表 ReactJS Key 键 ReactJS 路由 ReactJS Redux ReactJS 动画 ReactJS Bootstrap ReactJS Map ReactJS 表格 ReactJS 使用 Flux 管理状态 ReactJS 测试 ReactJS CLI 命令 ReactJS 构建和部署 ReactJS 示例

Hooks

ReactJS Hooks 简介 ReactJS 使用 useState ReactJS 使用 useEffect ReactJS 使用 useContext ReactJS 使用 useRef ReactJS 使用 useReducer ReactJS 使用 useCallback ReactJS 使用 useMemo ReactJS 自定义 Hooks

ReactJS 高级

ReactJS 可访问性 ReactJS 代码拆分 ReactJS 上下文 ReactJS 错误边界 ReactJS 转发 Refs ReactJS 片段 ReactJS 高阶组件 ReactJS 与其他库集成 ReactJS 优化性能 ReactJS Profiler API ReactJS Portals ReactJS 不使用 ES6 ECMAScript ReactJS 不使用 JSX 的 React ReactJS Reconciliation ReactJS Refs 和 DOM ReactJS 渲染道具 ReactJS 静态类型检查 ReactJS 严格模式 ReactJS Web 组件

其他概念

ReactJS 日期选择器 ReactJS Helmet ReactJS 内联样式 ReactJS PropTypes ReactJS BrowserRouter ReactJS DOM ReactJS 轮播 ReactJS 图标 ReactJS 表单组件 ReactJS 参考 API

ReactJS 有用资源

ReactJS 快速指南 ReactJS 备忘录 Axios 备忘录 ReactJS 有用资源 ReactJS 讨论


ReactJS - findRenderedDOMComponentWithTag()

在 React 中,有一个很有用的函数,名为 findRenderedDOMComponentWithTag()。该函数就像一个特殊的侦探,在我们的应用程序的虚拟世界中搜索称为标签的特定组件。

当我们使用 findRenderedDOMComponentWithTag() 时,我们告诉我们的计算机程序在应用程序的虚拟表示中找到一个特定的标签,该标签称为 DOM(文档对象模型)。

该函数检查该确切标签。最有趣的部分是它期望找到一个匹配项。如果有多个或没有,则会引发异常。

语法

findRenderedDOMComponentWithTag(
    tree,
    tagName
)

参数

tree − 这充当了我们虚拟环境的地图,显示所有元素及其链接方式。

tagName − 它是我们在虚拟环境中寻找的标签的名称。

返回值

函数 findRenderedDOMComponentWithTag() 给出一个结果。当我们使用此函数时,我们告诉我们的计算机程序在我们的应用程序的 DOM 中定位特定的 HTML 标签(如 div>、<span> 等)。该方法仅期望识别出与所提供标签匹配的一个标签。如果检测到多个标签或没有标签,则会抛出异常,表明存在问题。

示例

示例 − 查找标题

假设我们有一本虚拟书,我们想找到书名,即标题 (h1) 标签。因此,为了完成此任务,我们将使用 findRenderedDOMComponentWithTag(tree, 'h1')。因此,以下是此应用程序的代码 −

// 导入所需的库
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';

// App 应用组件
const App = () => {
   return (
      <div>
         <h1>Title of the Book</h1>
      </div>
   );
};

// 测试用例
const { container } = render(<App1 />);
const headingElement = findRenderedDOMComponentWithTag(container, 'h1');
console.log(headingElement.textContent); 

输出

Title of the Book

此程序的目标是使用 findRenderedDOMComponentWithTag() 函数查找并显示该标题。当我们要求应用程序定位标题(h1 标签)时,它应该返回短语"书名"。

示例 − 定位按钮

假设此应用程序中有一堆按钮。要查找并与特定按钮交互,请使用 findRenderedDOMComponentWithTag(tree, 'button')。

// 导入必要的库
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';

// App 应用组件
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>
   );
};

// 测试用例
const { container } = render(<App />);
const buttonElement = findRenderedDOMComponentWithTag(container, 'button');
buttonElement.click(); 

输出

Button 1 is clicked

程序中有两个按钮,一个标记为"按钮 1",另一个标记为"按钮 2"。这里的目标是使用 findRenderedDOMComponentWithTag() 函数查找并与这些按钮交互。当我们按下按钮时,它应该显示一条消息,例如"单击了按钮 1"。

示例 3

让我们创建一个包含一些图像的应用程序。要找到特定图像,我们将使用 findRenderedDOMComponentWithTag(tree, 'img')。

// 导入所需的库
import React from 'react';
import { render } from '@testing-library/react';
import { findRenderedDOMComponentWithTag } from 'testing-library';

// App 应用组件
const App = () => {
   return (
      <div>
         <img src="image1.jpg" alt="This is Image 1" />
         <img src="image2.jpg" alt="This is Image 2" />
      </div>
   );
};

// 测试用例
const { container } = render(<App />);
const imageElement = findRenderedDOMComponentWithTag(container, 'img');
console.log(imageElement.getAttribute('alt')); 

输出

This is Image 1

此应用程序中有两张照片,每张照片都显示不同的东西。目的是使用 findRenderedDOMComponentWithTag() 函数识别和显示有关这些图像的信息。例如,当我们找到一张图片时,它应该告诉我们它是什么。如果它是第一张图片,它可以说"这是图片 1。"

摘要

findRenderedDOMComponentWithTag() 方法充当数字浏览器,帮助我们在应用程序的虚拟环境中定位特定项目。它确保我们得到我们想要的东西。因此,此功能使我们的编码体验变得轻松。请记住要小心使用它,并期望它只找到一件事。如果多或少,它会通知我们。

reactjs_reference_api.html