For the complete documentation index, see llms.txt. This page is also available as Markdown.

组件模式

本页介绍如何在 React 组件中有效使用 Redux 和 RTK Query,包括 hooks、优化模式和最佳实践。

基础查询用法

使用 RTK Query 端点生成的 hooks:

import { useGetParcelByCoordsQuery } from '@/features/land/land.client';

function ParcelCard({ x, y }: { x: number; y: number }) {
  const { data, isLoading, isError, error } = useGetParcelByCoordsQuery({ x, y });

  if (isLoading) return <div>加载中...</div>;
  if (isError) return <div>错误:{error.toString()}</div>;
  if (!data) return null;

  return (
    <div>
      <h2>{data.name || `地块 ${x},${y}`}</h2>
      <p>所有者:{data.owner}</p>
    </div>
  );
}

使用以下方式优化重新渲染: selectFromResult

将结果缩小到仅包含你需要的字段:

使用以下条件查询: skip

当参数还未准备好时跳过查询:

轮询获取实时更新

延迟查询

改为手动触发查询,而不是在组件挂载时触发:

Mutation 用法

基础 Mutation

带反馈的 Mutation

使用 slice 状态

使用以下方式访问 slice 状态: useAppSelector:

组合多个查询

使用选择器派生状态

分发动作

实体适配器选择器

数据预取

在导航前预取数据,以获得更快的用户体验:

手动缓存管理

处理查询状态

表单集成

最佳实践

1. 使用带类型的 Hooks

2. 处理所有查询状态

3. 用于 .unwrap() Mutation

4. 使用以下方式缩小结果范围: selectFromResult

5. 避免选择整个 slice

下一步

最后更新于