Javascript 它';是否可以将计时器设置为减速器状态?反应+;重演
可以设置计时器来清除某些减速器状态吗?我有一个状态来显示“成功”、“错误”、“警告”消息 例如: 减速器:Javascript 它';是否可以将计时器设置为减速器状态?反应+;重演,javascript,reactjs,redux,Javascript,Reactjs,Redux,可以设置计时器来清除某些减速器状态吗?我有一个状态来显示“成功”、“错误”、“警告”消息 例如: 减速器: const statusState = { status: {action: '', result: ''} } ... CASE fetchContent: return { ...state, contents: [...state.contents, action.data], status: { ...state
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();
}
}
您确定组件语法吗?听起来很奇怪,渲染方法中包含了所有内容…@SilvioBiasiol fixed,没有注意到哈哈哈。您可以使用mapDispatchToProps并清除状态值确保这是可能的。最合适的地方是行动。它还假设您在减速机中添加了相应的大小写。旁注:在
render()
中使用alert
看起来不合适。从React的POVrender()
应该只具有DOM输出,并且alert
与DOM没有关系。工作正常,只需使用箭头函数setTimeout(()=>{this.props.resetStatus()},3000)