首页 > 解决方案 > 鉴于 Immutable.js 的当前使用情况,如何部分迁移以响应工具包?

问题描述

我有一个使用 React、Redux 和Immutable.js. 我想迁移到 react-toolkit 及其createSlice功能,看起来非常好。我遇到的问题是,由于我将 redux 中间件用于不可变(redux-immutable),我质疑是否有任何方法可以一次迁移一个动作/选择器/减速器切片?或者,如果迁移意味着我需要一次性迁移整个应用程序(考虑到大小,这是不可能的)。特别是 redux-toolkit 在Immer内部使用,所以我觉得我的使用从Immutable.js根本上与react-toolkit' 的方法不一致。是否有可用的增量迁移?如果是这样,是否有任何陷阱或指南来描述这将如何工作?

标签: reduxredux-toolkit

解决方案


是的,Immer 和 Immutable.js 可能会相互矛盾,我们特别推荐使用 Immer(这也是 RTK 在内部默认使用 Immer 的原因)。

一般来说,您应该能够选择一个切片,将它的 reducer 替换为 RTK 的createSlice,并更新 UI 中依赖于与 Immutable.js API 交互的任何位置以使用普通对象。(并不是说这很容易,特别是如果您使用纯 JS 而不是 TS,但它是可行的)。

我不确定您在redux-immutable具体使用时可能会遇到什么问题。我只是建议尝试选择一个切片并迁移它,看看会发生什么。


推荐阅读