ReactJS - 参考 API



React JS 是一个用于构建用户界面的 JavaScript 库。React 允许开发人员有效地创建交互式 UI 组件。因此,此参考尝试记录 React JS 提供的每个内置函数、钩子、组件和其他基本功能。在本教程中,我们将使用React@18版本。

在 React JS 中,函数根据其功能和用法分为两个主要部分。以下是 React JS 中的主要函数

内置钩子

在此中,我们包含了所有内置的钩子,这些钩子可以与您的组件中的不同 React 功能一起使用。

功能 描述
use() 让我们读取资源的值。
useDebugValue() 为自定义 Hook 添加标签。
useDeferredValue() 让我们推迟更新用户界面的一部分。
useId() 用于生成唯一 ID。
useImperativeHandle() 帮助我们连接子组件。
useInsertionEffect() 允许我们在 DOM 中插入元素。
useLayoutEffect() 用于执行布局测量。
useSyncExternalStore() 让我们订阅外部商店。
useTransition() 帮助我们在不阻塞 UI 的情况下更新状态。

内置组件

在此中,我们记录了您可以在代码和其他组件中使用的组件。

功能 描述
<Suspense> 显示回退,直到其子级完成加载。

内置 React API

React 提供了一些内置的 API,这些 API 对于定义组件很有用。

功能 描述
cache() 缓存数据提取的结果。
createContext() 创建了组件可以提供的上下文。
lazy() 允许我们延迟加载组件的代码。
startTransition() 在不阻止 UI 的情况下更新状态。

指令

这些是与 React 服务器组件兼容的打包器的说明。

功能 描述
use client 用于标记在客户端上运行的代码。
use server 用于标记服务器端函数。

内置 React DOM 钩子

有一些内置的 React DOM 钩子在浏览器 DOM 环境中运行。这些钩子并不适合非浏览器环境,如 Android、iOS 和 Windows 应用程序。

功能 描述
useFormState() 根据表单操作的结果更新状态。
useFormStatus() 提供上次表单提交的状态信息。

事件处理函数

在本节中,我们包含了一些支持所有内置 HTML 和 SVG 组件的事件处理函数。

功能 描述
event object 充当我们的代码和浏览器事件之间的链接。
AnimationEvent handler 充当我们的代码和浏览器事件之间的链接。
ClipboardEvent handler 剪贴板 API 事件的事件处理程序类型。
CompositionEvent handler 输入法编辑器事件的事件处理程序类型。
DragEvent handler HTML 拖放 API 事件的事件处理程序类型。
FocusEvent handler 焦点事件的事件处理程序类型。
InputEvent handler onBeforeInput 事件的事件处理程序类型。
KeyboardEvent handler 处理键盘事件的事件。
MouseEvent handler 鼠标事件的事件处理程序类型。
PointerEvent handler 指针事件的事件处理程序类型。
TouchEvent handler 触摸事件的事件处理程序类型。
TransitionEvent handler CSS 转换事件的事件处理程序类型。
UIEvent handler 通用用户界面事件的事件处理程序类型。
WheelEvent handler onWheel 事件的事件处理程序类型。

React DOM 接口

react-dom 包包含仅 Web 应用程序支持的方法。在本节中,我们介绍了 API、客户端 API 和服务器 API。

功能 描述
createPortal() 获取当前 Axes 实例。
flushSync() 创建新的 Axes 实例。
findDOMNode() 关闭当前数字。
createRoot() 清除当前数字。
hydrateRoot() 检查是否存在具有给定数字编号的图形。
renderToReadableStream() 创建一个新图形。
renderToString() 获取当前数字。
renderToStaticMarkup() 获取所有图形的标签。
cloneElement() 将当前 Axes 实例设置为给定的坐标区。
isValidElement() 将等值线标签添加到等值线图中。
PureComponent 常规组件的增强版本。

其他类组件

这些组件是定义为 JavaScript 类的 React 组件的基类。React 仍然支持类组件,因此我们在下面的部分中包含了它们。

功能 描述
componentDidCatch() 用于在某个子组件抛出错误时调用。
componentDidUpdate() 用于在组件重新渲染后立即调用。
componentWillUnmount() 在删除组件之前调用它。
forceUpdate() 强制组件重新呈现。
getChildContext() 指定旧上下文的值。
getSnapshotBeforeUpdate() 使组件能够捕获某些信息。
static contextType 让我们指定使用哪个旧上下文。
static defaultProps 用于设置类的默认属性。
static propTypes 声明组件接受的 props 的类型。
static getDerivedStateFromError() 当子组件在渲染过程中抛出错误时调用它。
static getDerivedStateFromProps() 用于在调用 render 之前调用它。
UNSAFE_componentWillMount() 它是一种在服务器呈现期间运行的生命周期方法。
UNSAFE_componentWillReceiveProps() 用于在组件接收到新属性时调用。
UNSAFE_componentWillUpdate() 在使用新的道具或状态进行渲染之前调用它。
createElement() 创建一个 React 元素作为编写 JSX 的替代方法。
createRef() 创建一个 ref 对象以包含任意值。

测试实用程序

测试工具用于在您选择的测试框架中轻松测试 React 组件。在本节中,我们包含了一些执行测试的函数。

功能 描述
act() 包装与组件交互的代码。
mockComponent() 创建 React 组件的模拟版本。
isElement() 检查给定对象是否为 React 元素。
isElementOfType() 检查给定对象是否为特定类型的元素。
isDOMComponent() 检查给定对象是否为 DOM 组件。
isCompositeComponent() 检查给定对象是否为复合组件。
isCompositeComponentWithType() 检查给定对象是否为特定类型的复合组件。
findAllInRenderedTree() 在树中查找组件的所有呈现实例。
scryRenderedDOMComponentsWithClass() 查找具有特定类的所有 DOM 组件。
findRenderedDOMComponentWithClass() 在呈现的树中查找具有特定类的第一个 DOM 组件。
scryRenderedDOMComponentsWithTag() 查找具有特定标记的所有 DOM 组件。
findRenderedDOMComponentWithTag() 查找具有特定标记的第一个 DOM 组件。
scryRenderedComponentsWithType() 查找特定类型的所有复合组件。
findRenderedComponentWithType() 查找特定类型的第一个复合组件。
renderIntoDocument() 将 React 组件渲染到 DOM 中。
Simulate() 用于模拟用户交互。

测试渲染器

Test Renderer 是一个实用程序,用于将 React 组件渲染为纯 JavaScript 对象,而无需 DOM。在本节中,我们包含了此实用程序的一些功能。

功能 描述
TestRenderer.create() 在测试渲染器实例中渲染 React 组件。
TestRenderer.act() 执行与测试渲染器的交互。
testRenderer.toJSON() 返回呈现的组件树的 JSON 表示形式。
testRenderer.toTree() 返回一个树结构,显示呈现的组件树。
testRenderer.update() 手动触发渲染组件的更新。
testRenderer.unmount() 卸载渲染的组件。
testRenderer.getInstance() 返回根组件的实例。
testRenderer.root() 提供对组件树的根节点的访问。
testInstance.find() 在组件树中查找节点。
testInstance.findByType() 根据节点的类型在组件树中查找节点。
testInstance.findByProps() 根据节点的属性在组件树中查找节点。
testInstance.findAll() 查找组件树中的所有节点。
testInstance.findAllByType() 根据其类型查找组件树中的所有节点。
testInstance.findAllByProps() 根据其属性查找所有节点。
testInstance.instance 表示组件的实际实例。
testInstance.type 表示组件的类型。
testInstance.props 表示传递给组件的 props。
testInstance.parent 表示组件树中的父节点。
testInstance.children 显示组件树中的子节点。