对于需要刷新以设置间隔呈现给用户的Redux状态树部分的React应用程序,仅使用setTimeout()来触发Redux操作创建器(例如在ComponentDidMount()生命周期方法内部是否有任何缺点并从端点获取json,而不是使用适当的轮询框架,如Meteor。
我能想到的一个用例是刷新用户收件箱以获取新邮件。
答案 0 :(得分:1)
通常建议将异步内容移至redux-middleware:
setState
函数中有then
,则无法保证在Promise结算时仍会挂载组件。 setTimeout
或setInterval
相同 - 当组件卸载并做出反应时,有人可能忘记取消订阅它们。componentWillMount
,componentWillUpdate
和componentWillReceiveProps
)。redux-saga
或redux-observable
这样的库使这样的异步任务很容易实现。 然而......如果你的情况非常简单,那么通过中间件移动代码可能会增加不必要的复杂性。因此,最终,最好做一些将来更容易理解和处理的事情。
答案 1 :(得分:0)
我建议你使用像redux-saga这样的库并使用generator es6(yield)