- 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 - 参考 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 | 显示组件树中的子节点。 |