react-redux 异步 dispatch 求助

2020-08-11 17:44:41 +08:00
 xiaoming1992

本人刚开始用react-redux,目前在异步 dispatch 的时候,暂时用的redux-thunk
求助:dispatch(asyncFunc).then(...)asyncFunc().then(dispatch)有什么区别?
(如果用错了请指出,确实是刚开始用)

1862 次点击
所在节点    JavaScript
3 条回复
7anshuai
2020-08-11 19:49:42 +08:00
https://redux.js.org/faq/actions#how-can-i-represent-side-effects-such-as-ajax-calls-why-do-we-need-things-like-action-creators-thunks-and-middleware-to-do-async-behavior
应该就是官方推荐在 action creator 函数里来执行有副作用的代码逻辑,要不然只能写在 UI 里了吧
xubeiyan
2020-08-11 20:12:01 +08:00
react 自己都不推荐 redux 了,usestate,useeffect,usememo,usereducer 选吧
xiaoming1992
2020-08-12 10:19:16 +08:00
@7anshuai 我是那样做的,只是不太清楚`dispatch(asyncFunc)`和直接执行`asyncFunc().then(dispatch)`有什么区别?是因为前者的优势有 1. 代码格式统一(都是 dispatch(something)); 2. 前者可以将业务逻辑全部放在`asyncFunc`里面; 是因为这两者吗?

@xubeiyan 组件间共享状态需要使用`useContext`, 可是这样搞就和`react-redux`的`hooks`没什么区别了

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

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

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

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

© 2021 V2EX