对于需要刷新以设定时间间隔呈现给用户的Redux状态树部分的React应用程序,只使用setTimeout()触发Redux操作创建者(例如在ComponentDidMount()生命周期方法中)并从端点获得json而不是使用适当的轮询框架(例如Meteor )有什么缺点吗?
我能想到的一个用例是刷新用户收件箱中的新消息。
发布于 2018-04-03 07:13:37
通常建议将异步组件移动到redux中间件:
setState
包含在then
函数中,则不能保证组件在允诺解析时仍将被挂载。setTimeout
或setInterval
也是如此--当组件卸载和响应时,可能会有人忘记取消订阅,从而引发错误。componentWillMount
、componentWillUpdate
和componentWillReceiveProps
的原因)。redux-saga
或redux-observable
这样的库使得这样的异步任务很容易完成。然而..。如果您的情况非常简单,那么通过中间件移动代码可能会增加不必要的复杂性。所以,最后,最好做一些将来更容易理解和处理的事情。
发布于 2018-04-03 13:43:04
我建议您使用像redux这样的库,并使用生成器es6 (产率)。
https://stackoverflow.com/questions/49625811
复制相似问题