react-redux 是推荐用传统的爷父子传参方式,还是 hooks 的方式发送 acton?

2020-11-19 13:53:29 +08:00
 yazoox

公司的项目,react, redux, + saga 的,三四年了。今年,开始,升级了 react 的版本,有人开始用 hooks 了。

于是我也跟风用 hooks,尤其是 useDispatch 。 这样,对于一些比较简单的组件,只发送一些比较简单的 action,我不用在 props 里面定义一堆 functions,然后通过 祖宗,太爷爷,爷爷,父亲把 具体的用户函数传递进来。可以直接在当前组件里面,就直接发送 actions 了。

结果,在代码审查时,有个人加注释说,让我不要用 useDispatch,改回传统的 react-redux 方式。

我特意去 google 搜索了一下,没有找到相关的讨论。在组件内,直接使用 useDispatch,然后发送 actions 的方法,不推荐么?

我的理解是,hooks 这一套,就是为了简化 /优化一些复杂冗余的调用。为啥这个不推荐用?是有什么说法么?

想来听听大家的意见

2964 次点击
所在节点    React
22 条回复
yazoox
2020-11-26 10:52:39 +08:00
@nav4e thx.
其实,redux 操作对象也是 context,只是用它那套包装了一下。
不过,直接使用 context,能够减少 redux 的依赖。使得 component 看起来更像 dumb/pure component.

可惜,我们产品的架构已经定了。要么就是 props,mapStateToPros, mapDispatchToProps 。不允许直接使用自定义的 context......
dartabe
2020-11-27 12:05:33 +08:00
@yazoox 直接用 context 是不是不好 debug?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/727098

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX