javascript - 可以在减速器状态上设置计时器吗?反应 + 还原
问题描述
可以设置一个计时器来清除一些减速器状态吗?我有一个状态来显示“成功”、“错误”、“警告”的消息
例子:
减速器:
const statusState = {
status: {action: '', result: ''}
}
...
CASE fetchContent:
return {
...state,
contents: [...state.contents, action.data],
status: {
...state.status,
action: action.type,
result: action.result
}
}
零件:
render(){
cost { status } = this.props
if(status.action == "something" && status.result == "success"){
alert("success");
}
}
const mapStateToProps = store => ({
status: store.initialState.status
});
export default connect(mapStateToProps)(Component);
如果我不清除 status.action 和 status.result 警报会一直显示,是否可以设置一个计时器来清除它?
解决方案
创建一个清除 status.action 和 status.result 的清除操作。创建一个 javscript 超时函数,该函数在超时后调用清除操作。如下所示:
clearStatus = ()=>{
setTimeout(
function() {
//create a action that clears status and result
},3000
);
}
render(){
cost { status } = this.props
if(status.action == "something" && status.result == "success"){
//showMessage
clearStatus();
}
}
推荐阅读
- swift - 如何在 SwiftUI 中按类别正确分组 CoreData 记录?
- javascript - 在referer主页上加载文件Javascript
- python - 如何在应用程序或网站中实现 Python 聊天机器人文件?
- flags - dlopen() 中的 RTLD 代表什么?
- excel - 匹配另一个工作表中的值并将数据复制到当前工作表
- xcode - 存档错误:“xxx-master.dia:1:1:无法读取序列化诊断文件:无法加载文件:无法打开诊断文件”
- javascript - 如何为反应表组件显示安排嵌套的对象数据数组
- mysql - SQL如何在典型日期从每个类别中找到平均用户
- android - 如何生成数据绑定布局膨胀?
- java - 为什么在我将组件添加到 JFrame 而不是将它们添加到 JPanel 之后,所有这些组件都消失了?