我有一个钩子useLazyGetDataQuery
,它返回的“父”数据对象发生了变化,即使该高速缓存在发出多个传递相同查询参数的请求时有效。const [getData, data] = useLazyGetDataQuery()
这里返回的data
对象的status
属性从pending
更改为fulfilled
,导致重新呈现。不能使用选择器,因为它需要传递相同的参数,而这些参数在第二次调用中不可用,因为它们只在我的submitForm
回调中可用。
即使缓存中的数据不应该被更新,组件也不会重新渲染,组件会重新渲染,因为这个对象的一些属性发生了变化,例如它的status
。状态从pending
更改为fulfilled
,这会导致不必要的重新呈现,因为API响应与缓存的数据相同。
我该如何阻止这些不必要的报复?
1条答案
按热度按时间wmvff8tz1#
您不需要使用
useLazyGetDataQuery()
返回的整个结果对象。只需使用解构来获取您需要的数据: