V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
xiaoming1992
V2EX  ›  JavaScript

react-redux 异步 dispatch 求助

  •  
  •   xiaoming1992 · 2020-08-11 17:44:41 +08:00 · 1956 次点击
    这是一个创建于 1568 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7anshuai
        1
    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
        2
    xubeiyan  
       2020-08-11 20:12:01 +08:00 via Android
    react 自己都不推荐 redux 了,usestate,useeffect,usememo,usereducer 选吧
    xiaoming1992
        3
    xiaoming1992  
    OP
       2020-08-12 10:19:16 +08:00
    @7anshuai 我是那样做的,只是不太清楚`dispatch(asyncFunc)`和直接执行`asyncFunc().then(dispatch)`有什么区别?是因为前者的优势有 1. 代码格式统一(都是 dispatch(something)); 2. 前者可以将业务逻辑全部放在`asyncFunc`里面; 是因为这两者吗?

    @xubeiyan 组件间共享状态需要使用`useContext`, 可是这样搞就和`react-redux`的`hooks`没什么区别了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5480 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:38 · PVG 15:38 · LAX 23:38 · JFK 02:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.