RTK查询数据树结构

问题描述 投票:0回答:1

我正在研究具有数据树结构的选择。

为了更好地理解,想象一下:

端点

/products_categories
返回:

[
  {
    id: 56,
    name: "Furniture",
    is_leaf: false,
  },
  ...
]

“用户选择‘家具’,它会显示另一个选择并引发另一个 api 调用。”

端点

/products_categories?parent=56
返回:

[
  {
    id: 80,
    name: "Garden furniture",
    is_leaf: false,
  },
  ...
]

端点

/products_categories?parent=80
返回:

[
  {
    id: 250,
    name: "Garden table",
    is_leaf: true,
  },
  ...
]

我正在使用 RTK 查询钩子,就像这样

const { data } = useGetProductCategoriesQuery({ parentId })

数据仅包含当前数据,但不包含先前(父)数据。我认为我应该手动引入 redux 存储/缓存。文档中是否有类似场景或特定位置的示例,如何操作?

reactjs redux rtk-query
1个回答
0
投票

那么,您可以使用

useQueries
钩子

https://tanstack.com/query/latest/docs/framework/react/reference/useQueries

你可以尝试类似的事情

const [selectedIds, setSelectedIds] = useState([]);

const onSelectProduct = (productId) => setSelectedIds(value => [...value, productId]);

const results = useQueries({
  queries: selectedIds.map(id => (
    { queryKey: ['product', id], queryFn: () => fetchProduct(id), staleTime: Infinity }
  )),
});

每个结果都会有一个

data
键以及相关记录。

© www.soinside.com 2019 - 2024. All rights reserved.