RTK查询-禁用单个端点的不变性



我将在我的项目中引入RTK Query。然而,从一个端点(用createApi创建)检索到的数据被馈送到D3库,D3库立即开始改变数据。由于RTKQ返回不可变数据,D3抛出错误object is not extensible。我的问题是

是否有一种方法可以禁用RTKQ对特定端点的不变性?

我明白我可以复制检索到的数据&以后再用这个副本,但我不想这样做。

注意,数据不是应用程序状态的一部分,所以我不能像文档中描述的那样使用ignoredPaths禁用不变性。

不,绝对没有办法为单个端点禁用冻结。RTK对所有使用createSlice制作的reducer使用Immer, RTKQ使用createSlice生成缓存reducer,并且所有缓存数据都进入该reducer。因此,Immer冻结所有数据。

另外,请注意,您链接的不变性检查中间件与reducer中的Immer冻结状态是不同的。

在UI层复制数据,比如在useMemo()中,这将是你最好的选择。

相关内容

  • 没有找到相关文章

最新更新