Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 胡克斯会推翻雷杜吗?_Javascript_Reactjs_Redux_Flux_React Hooks - Fatal编程技术网

Javascript 胡克斯会推翻雷杜吗?

Javascript 胡克斯会推翻雷杜吗?,javascript,reactjs,redux,flux,react-hooks,Javascript,Reactjs,Redux,Flux,React Hooks,我一直在寻找React的钩子,有一个问题一直萦绕在我的脑海里。胡克斯会推翻雷杜吗?这是一个相当古老的讨论,因此首先要了解一下上下文: 很多人(包括React的团队)似乎认为redux和Similar将适应新的API,使HOC的方法过时,但我的问题是: 有了定制的钩子和经过深思熟虑的逻辑,为什么我需要Redux呢?我的意思是,把你的行动分配给一个减速机不是更有效吗?我已经找到了很多关于它的资料,但似乎没有一个确切的答案(可能是因为没有答案?),所以我想知道你对Redux的未来有什么看法?

我一直在寻找React的钩子,有一个问题一直萦绕在我的脑海里。胡克斯会推翻雷杜吗?这是一个相当古老的讨论,因此首先要了解一下上下文:

很多人(包括React的团队)似乎认为redux和Similar将适应新的API,使HOC的方法过时,但我的问题是:

有了定制的钩子和经过深思熟虑的逻辑,为什么我需要Redux呢?我的意思是,把你的行动分配给一个减速机不是更有效吗?我已经找到了很多关于它的资料,但似乎没有一个确切的答案(可能是因为没有答案?),所以我想知道你对Redux的未来有什么看法?

不,绝对没有

我在报告中提到了这一点

总结:钩子提供了很多方法来完成您已经可以完成的事情,比如本地组件状态和避免通过上下文钻取道具。如果这就是您使用Redux的全部目的,那么您可能一开始就不需要Redux。但是,钩子有其局限性,并且有很多选择Redux的额外用例


另外,请注意,我们是。

现在真的很难说。redux团队正在积极更新产品,以包含一些不错的功能。然而,redux()的一个创建者似乎正在摧毁他的旧应用程序,转而支持react中的新功能

这就是说,Redux是一个经过测试并为许多人所熟知的库。我不认为今天、明天或一年后用redux开始一个新项目是个坏主意。科技不会在一夜之间消亡。如果它有目的的话,它将继续生存下去


然而,我确实认为上下文和钩子是redux的一个很好的替代品,但是社区根本不知道如何使用它。

自从这个问题发布以来,一年多过去了

我想补充一点,在我看来,Redux已经失去了一些相关性

在我看来,有2家公司抢走了Redux在React市场的大部分份额:

  • 人们已经学会了如何将useReducer与useContext结合起来 实施更简单的解决方案,无需第三方 依赖关系。具有React团队支持的优势; 这意味着我们将得到不断的改进 使用React框架

  • MobX一直在扩大其用户群。主要是因为它提供了一个观察者模式,它比Redux需要更少的锅炉板代码。(这一点可以讨论)

  • 因此,尽管Redux仍然广泛应用于React项目,但我预计这将逐渐减少加班…-没有双关语的意思。。。嗯,可能有一点;)-


    专门用于绿地开发

    useReducer()。这只是在(函数)组件中拥有状态的另一种方式。如果愿意,您可以使用
    this.state
    将应用程序的所有状态放入根
    ,因此这与
    useReducer()
    Re Redux的未来没有什么不同:不要忘了Redux不仅仅与React一起使用-它是一个与框架/库无关的状态容器。因此,即使React开发人员停止使用它,其他开发人员(Angular/Vue等)仍可以在其项目中使用Redux。我认为,随着越来越多的人学习如何将useReducer与useContext等结合起来,这个答案变得越来越不相关。。。。看起来Redux不可避免地变得越来越不相关了。一点也不!Redux仍然被广泛使用——据我估计,大约50%的React应用程序都在使用它。另外,虽然
    useReducer
    +
    useContext
    是一个很好的组合,但它有很多限制,并且解决的用例集与Redux不同。更多详情请参见我的帖子。此外,它使使用Redux比以往任何时候都更容易。