可以设置一个计时器来清除一些减速器状态吗?我有一个州显示“成功”,“错误”,“警告”的信息
例:
减速器:
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的清除操作。创建一个javascript超时函数,在超时后调用clear动作。如下所示:
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();
}
}