首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用setTimeout()调用Redux操作

使用setTimeout()调用Redux操作
EN

Stack Overflow用户
提问于 2018-04-03 00:47:05
回答 2查看 1.5K关注 0票数 3

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-03 07:13:37

通常建议将异步组件移动到redux中间件:

  • 使您的组件“只是”一个视图层。
  • 这也使您的组件“更干净”,更容易测试。
  • 您可以避免偶然地引入诸如内存泄漏之类的bug。例如:
  • 如果承诺将setState包含在then函数中,则不能保证组件在允诺解析时仍将被挂载。
  • setTimeoutsetInterval也是如此--当组件卸载和响应时,可能会有人忘记取消订阅,从而引发错误。
  • 人们常常会混淆如何正确地使用react生命周期(这就是react被废弃的componentWillMountcomponentWillUpdatecomponentWillReceiveProps的原因)。
  • redux-sagaredux-observable这样的库使得这样的异步任务很容易完成。

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

票数 3
EN

Stack Overflow用户

发布于 2018-04-03 13:43:04

我建议您使用像redux这样的库,并使用生成器es6 (产率)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49625811

复制
相关文章
使用Jest测试包含setTimeout调用的函数踩坑记录
前两天给一个包含setTimeout调用的函数写单元测试,在使用fake timer的时候遇到了问题,记录一下。
雪之下Perqin
2021/08/26
6.9K0
使用setTimeout模拟setInterval
相信setInterval这个东西大火都比较熟了,这里不做关于它的介绍,而是关于本文是如何实现这一功能。
kifuan
2022/10/24
1.8K0
JavaScript定时调用函数(SetInterval与setTimeout)
setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
aehyok
2018/09/11
1.5K0
Redux使用总结
创建redux必备3文件(redux架构), store.js actions.js reducers.js 创建 [ store.js ] [ reducers.js ] [ actions.js ] (内容可以先空,具体业务在来补充)
用户1065635
2019/03/21
7800
setTimeout实现原理和使用注意
浏览器渲染进程中所有运行在主线程上的任务都需要先添加到消息队列,然后事件循环系统再按照顺序执行消息队列中的任务。
winty
2019/12/20
1.7K0
Redux入门到使用。
action:是把数据从应用(译者注:这里之所以不叫 view 是因为这些数据有可能是服务器响应,用户输入或其它非 view 的数据 )传到 store 的有效载荷。它是 store 数据的唯一来源。一般来说你会通过 store.dispatch() 将 action 传到 store。
用户3467126
2019/07/03
8590
Redux入门到使用。
hook+react-redux让redux使用更简单
实际上,在react-redux中我们只需要了解这三个概念即可使用redux,而实际上这些也不难理解。我们只要掌握一些关键的api,尤其是hook,就可以很轻松地在我们的项目中加入redux
源心锁
2022/08/12
7980
hook+react-redux让redux使用更简单
js中setTimeout和clearTimeout的使用
1、js中可以通过setTimeout函数设置定时器,让指定的代码在指定的时间运动. 如果我们希望在setTimeout之行前终止其运行就可以使用clearTimeout()。
全栈程序员站长
2022/11/17
2.7K0
【Redux】:Redux 指北
Redux 是JavaScript 应用的状态管理容器,提供集中式、可预测的状态管理。
WEBJ2EE
2021/06/15
1.6K0
redux 使用 redux-persist 进行数据持久化
在React项目中,我们会使用redux 来进行状态管理。redux和其它状态管理技术一样,刷新页面后,数据就会恢复成初始状态。
用户9914333
2022/07/22
3.7K0
使用 React Hooks 代替 Redux
React Hooks 面世也有很大一段时间了。我相信很多人对于 Hooks 的认知还大概处在:
Nealyang
2019/11/27
1.6K0
Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]
js中定时器有两种,一个是循环执行 setInterval,另一个是定时执行 setTimeout。
全栈程序员站长
2022/11/10
7.5K0
Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]
echart 在点击事件中使用setTimeout 方法
点击一个按钮后左边div隐藏,右侧图表变大,需要重新绘制图表,resize方法如下:
tianyawhl
2019/04/04
1.1K0
React全家桶之Redux使用
让我们闭上眼睛想想,如果用一个词描述React 和Redux 给我们留下了什么印象,我想到的不是难学,不是繁琐,而是“限制”。
一粒小麦
2019/07/18
1.3K0
React全家桶之Redux使用
setTimeout和setInterval
setTimeout(methodName, interval); //间隔时间单位为毫秒,表示interval毫秒后执行方法methodName
tandaxia
2018/09/27
2K0
setTimeout和setInterval
新建 html 文件 21-setTimeout.html ,编写下方程序,运行看看效果吧
鹤川
2023/03/21
1K0
如何更优雅地使用 Redux
业务背景介绍:腾讯云数据库产品中心 & 大数据及人工智能产品中心 前端从2016年初开始尝试 React + Redux 全家桶,期间经历了很多波折,到目前为止总共28个项目,其中有15个项目使用了该
陈津
2017/09/06
2.7K2
如何更优雅地使用 Redux
在 redux 应用中使用 GraphQL
在 Redux 应用中获取和管理数据需要做许多工作。正如 Sashko Stubailo 指出的:
疯狂的技术宅
2019/03/28
1.9K0
在 redux 应用中使用 GraphQL
点击加载更多

相似问题

使用setTimeout函数从redux分派操作,并通过fetch调用解析promise chain

25

使用setTimeout与React和Redux

21

redux操作调用其他操作失败

31

redux-仅通过setTimeout调用的saga takeEvery

12

redux操作不调用reducer

330
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文