【问题标题】:Are Redux action creators hot-reloadable while using redux-thunk?Redux action creators 在使用 redux-thunk 时是否可以热重载?
【发布时间】:2016-03-12 00:35:53
【问题描述】:

我认为他们不是,但我可能会遗漏一些东西。我担心的是,动作创建者中有很多潜在的可热重载代码,但因为动作创建者(在使用 thunk-middleware 时)可能包含潜在的不纯操作,所以不可能热重载它们。

【问题讨论】:

    标签: javascript flux redux


    【解决方案1】:

    如果您使用 React Hot Loader,它们应该可以很好地进行热重载。如果您使用 React Transform,它们目前不会热重载,因为 RT 不会热重载模块导出,而 connect()ed 组件是一个导出。我们计划最终解决这个问题,但现在,您可以使用 React Hot Loader。

    【讨论】:

    • 明白,但是让我们想象一下在动作创建器中有一个 API 调用,如下所示:const fooActionCreator = () => (dispatch, getState) => { if (getState().condition) { dispatch({type: 'AJAX_STARTED'}); } $.ajax().then(() => dispatch({type: 'AJAX_FINISHED'})); } 然后在我看来,热重载(和重播)无法工作,因为将重新触发非幂等操作的动作创建者内部的 API 调用。
    • @TomášWeiss Replay 适用于普通的“已解决”动作对象。所以只会重播“最终”的普通对象动作。
    • 优秀的答案!我应该以不同的方式提出这个问题,因为问题不是关于热重载,而是关于热重载后的重播。
    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    相关资源
    最近更新 更多