redux 如何从RTK查询中获取部分数据

0sgqnhkj  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(286)

我开始使用RTK查询,当我只需要获取缓存数据的一个元素时,我不确定是否能正确使用它。
我缓存了一个这样的对象:

{
 id: "1",
 age: 18,
 name: "John"
}

在我的一个钩子中,我使用了下面的代码:

const { data: { id } = {} } = useMyQuery();

所以我的问题是,如果“姓名”或“年龄”改变了,而“身份”没有改变,我如何才能避免我的钩子的触发。
有没有办法在这个缓存的数据上创建一个备注选择器?

更新日期:

下面是selectFromResult的文档链接:连结
在使用了selectFromResult之后,如果返回数据,我们似乎必须自己管理记忆。
它在文档中,但在肢体中丢失了。这里是链接。

guicsvcw

guicsvcw1#

您要使用selectFromResult:

const { data: { id } = {} } = useMyQuery(undefined, {
  selectFromResult: ({isSuccess, data}) => ({ isSuccess, data: data.id }) 
};

请注意,这还允许您删除isLoadingisSuccess等属性,这些属性也可能会导致重新渲染-本示例仅保留isSuccess

相关问题