可以在减速器状态下设置定时器吗? React + Redux

问题描述 投票:2回答:1

可以设置一个计时器来清除一些减速器状态吗?我有一个州显示“成功”,“错误”,“警告”的信息

例:

减速器:

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警报会一直显示,是否可以设置一个计时器来清除它?

javascript reactjs redux
1个回答
2
投票

创建一个清除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();
           }
        }
© www.soinside.com 2019 - 2024. All rights reserved.