Reactjs React JS:HOC(重新组合)或Redux

Reactjs React JS:HOC(重新组合)或Redux,reactjs,redux,recompose,Reactjs,Redux,Recompose,我必须在React JS应用程序上工作,该应用程序目前是使用Recompose的compose功能开发的。 [ 按照从头开始重写应用程序的计划,最佳选择是重新编译还是重新编译 Recompose creator停止此软件包的活动维护。我该怎么办?继续使用Recompose或移动到Redux?正如@estus所说,Redux和Recompose并不等同 正如您可能知道的,Redux只用于保持应用程序的状态,这意味着当您使用服务并获得响应、修改某些UI组件的值等时,会调度一个操作,并通过reduce

我必须在React JS应用程序上工作,该应用程序目前是使用Recompose的compose功能开发的。 [

按照从头开始重写应用程序的计划,最佳选择是重新编译还是重新编译


Recompose creator停止此软件包的活动维护。我该怎么办?继续使用Recompose或移动到Redux?

正如@estus所说,Redux和Recompose并不等同

正如您可能知道的,Redux只用于保持应用程序的状态,这意味着当您使用服务并获得响应、修改某些UI组件的值等时,会调度一个操作,并通过reducer更新应用程序在应用商店中的状态。然后,订阅应用商店的UI组件会重新呈现

另一方面,重新组合允许您增强功能组件

例如,向功能组件添加自定义道具、生命周期以及状态和处理程序

此外,重组哲学是保持成分尽可能薄,并将其拆分以分离责任,然后用增强子将其合成

这是有意义的,因为您可以在不同的组件中重用重复的逻辑

不使用“重新组合”的示例

使用“重新组合”也一样

作为结论,我认为可以使用Redux来保持状态并重新组合以保持简单,分离责任,通过封装特定逻辑的小增强子增强功能组件


在React的未来版本中,我认为大多数重组实用程序都可以添加到库中。

Recompose不是Redux的替代品。它们是完全不同的lib,用于不同的目的。你可以将苹果与桔子进行比较。谢谢你的回复@estus。你能再解释一下吗?我不确定解释是什么。Redux是状态管理库,而Recompose不是。也许应该注意的是,Recompose已经被作者宣布为不推荐的:今天,我们宣布了一个关于钩子的提案。钩子解决了我三年前试图用Recompose解决的所有问题,除此之外还有更多问题。我将停止积极维护这个p包排除可能与未来React版本兼容的错误修复或补丁,并建议人们改用钩子。也许你是对的,但钩子并不能解决重新组合所做的所有事情,如果你决定在新项目中使用重新组合,这仍然取决于你。不一定是我的意见,这是Andrew Clark,Devel的意见Facebook上的oper,反应和作者或重组的核心贡献者。顺便说一句,我真的很喜欢重组。