gpt4 book ai didi

reactjs - 使用 setTimeout() 调用 Redux 操作

转载 作者:行者123 更新时间:2023-12-05 05:17:01 25 4
gpt4 key购买 nike

对于需要以设定的时间间隔刷新呈现给用户的部分 Redux 状态树的 React 应用程序,仅使用 setTimeout() 来触发 Redux 操作创建者(例如在 ComponentDidMount() 生命周期方法中)是否有任何缺点) 并从端点获取 json,而不是使用适当的轮询框架,例如 Meteor。

我能想到的一个用例是为新消息刷新用户收件箱。

最佳答案

通常建议将异步内容移至 redux-middleware:

  • 让您的组件“只是”一个 View 层。
  • 这也使您的组件“更干净”并且更易于测试。
  • 您可以避免意外引入内存泄漏等错误。例如:
  • 如果 Promise 在 then 函数中有 setState,则不能保证组件在 Promise 解析时仍会挂载。
  • setTimeoutsetInterval 相同 - 有人可能会在组件卸载时忘记取消订阅,并且 React 会抛出错误。
  • 人们常常对如何正确使用 React 生命周期感到困惑(这就是为什么 React 弃用了 componentWillMountcomponentWillUpdatecomponentWillReceiveProps)。
  • redux-sagaredux-observable 这样的库使得这样的异步任务很容易完成。

但是...如果您的情况非常简单,那么通过中间件移动您的代码可能会增加不必要的复杂性。所以,最后,最好做一些将来更容易理解和处理的事情。

关于reactjs - 使用 setTimeout() 调用 Redux 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49625811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com