【问题标题】:How to stop asynchronous Redux state updates after user logs out?用户注销后如何停止异步 Redux 状态更新?
【发布时间】:2021-09-02 05:53:37
【问题描述】:

我的网络应用程序中有一个错误。 IE。当用户登录然后快速退出时,应用程序将重置 redux 状态,但获取用户数据的异步操作仍将运行。并且在获取数据后,新的 redux 状态仍将填充上一次登录的用户数据。所以问题是:有没有办法在注销之前否定所有仍在运行的操作?或者我的应用中有其他解决方案或其他可能的错误?

【问题讨论】:

  • 这实际上是取消正在进行的请求。你可以通过使用带有 fork 或 redux-observables 的 redux-sagas 来实现这一点。一个更简单的解决方案是创建一个中间件来检查用户是否登录,如果是,则继续使用 action reducer,否则它将忽略将使用数据填充 store 的操作

标签: reactjs asynchronous redux


【解决方案1】:

我用 cmets 的 Tasos 解决方案解决了这个问题。我在创建自定义中间件时使用了this article。我在这里也找到了类似的讨论:How to to cancel pending asynchronous actions in React/Redux

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多