在我的应用的根目录下,我创建了一个getUserQuery
,它接受一个id
并返回一个user对象。在我的应用程序的其余部分中,有大量的其他查询需要将用户的id
作为传递给查询的参数之一。
我想我可以从apiSlice
中选择user
,以访问它的id
,但只有当我知道查询(用户id
)使用了什么参数时才能这样做,这就打败了选择用户来获取它的id
的意义。
我知道我可以通过UI向下传递用户,但这太难看了。我也知道我可以用Context来做,但这又感觉不对。考虑到getUserQuery
已经生成并缓存(我知道getUserQuery
只会为单个用户生成),我觉得一定有更明智的方法来访问用户的id
。
1条答案
按热度按时间6uxekuva1#
Redux-Toolkit Query只是一个API缓存管理解决方案,除了已经进行了哪些查询以及它们的缓存结果是什么之外,真的没有“状态”的意义,例如。他们的元数据。
使用React上下文对我来说似乎足够明智,可以跟踪任何当前/活动/最近使用的“id”查询参数。
如果创建一个完整的React上下文感觉不对,你可以在Redux商店中存储“当前”id。使用查询的
onQueryStarted
属性分派一个操作来存储当前使用的“id”值。示例:
在UI中,使用
useSelector
钩子和idSelector
选择器函数来选择最近设置的“id”值。