Easy Peasy VS React Redux

MD1*_*D10 4 immutability react-redux easy-peasy

最近发现了这个库:https : //easy-peasy.now.sh/ 实现了,不得不说还不错。为什么它不像 redux 那样受欢迎?为什么人们在可以使用它时倾向于使用 redux?两者的优点和缺点是什么?还想知道当我可以做这样的事情时,状态的不变性是如何在 easy peasy 中保持的:

addProduct: action((state, payload) => {
    state.productIds.push(payload);
  })
Run Code Online (Sandbox Code Playgroud)

显然它会改变状态.. 也许它不会改变实际状态?一般想知道是否保留了所有 redux 原则,以及两者之间的主要区别是什么?

Ben*_*ith 8

easy-peasy是对 Redux 的抽象,它在内部使用 Redux 来管理状态。

有些人会选择使用 Redux,因为他们可以完全控制 action、action creators、reducers 等的实现方式。然而,easy-peasy 的用户被赋予了一种使用 Redux 的固执己见的方式,这大大减少了您必须编写的样板数量来使用它。

至于它如何在 reducer 中强制执行不变性,而正在编写的代码看起来像是在改变数据,easy-peasy 实际上在“幕后”使用了Immer;引自 Immer 网站:

“基本思想是,您将所有更改应用到一个临时的 DraftState,它是 currentState 的代理。一旦您的所有更改完成,Immer 将根据对草案状态的更改生成 nextState。这意味着您可以通过简单地修改数据与您的数据进行交互,同时保留不可变数据的所有好处。”

正如指出的易peasy网站上,该库允许底层Redux的商店,它允许你在香草Redux的中间件/增强插件的扩展。

  • 请注意,我是 easy-peasy 的粉丝,无需编写样板代码而节省的时间是一个巨大的胜利! (2认同)