React-redux在数据显示一次后就删除存储中的数据



我有显示表单的组件AddCarWash,当提交此表单时,我将browserHistory.push(url)重定向到另一个组件AllCarWash。此外,在重定向之前,我放入redux存储message : 'CarWash was save successfully'。此消息将显示在目标组件AllCarWash中。

显然,这个消息应该只显示一次,在任何进一步的用户操作中都不应该显示它。所以我必须删除数据从redux存储当我被显示。我该怎么做呢?把resetMessageHandler放在每一个Link在页面上还是有更简单的方法?

另一种选择是使用componentWillUnmount()来保持一个已分派的动作,该动作将在组件从。

componentWillUnmount() {
        // destroy errors for the form here
        this.props.destroyErrorMessage();
    }

这是你可以做的,当你在redux上接收到componentWillReceiveProps或ComponenetWillMount的消息时,你可以在方法中设置一个Timeout为20-30秒,并在Timeout函数中更新状态

//sample code
componentWillReceieveProps(props){
 if(props.message){
  setTimeout(()=>{ 
   this.props.dispatch(removeMessageAction())
  },5000);
 }
}

同样可以写入componentWillMount函数,或者也可以使用componentDidUpdate和componentDidMount方法

相关内容

  • 没有找到相关文章

最新更新