2016-10-16 32 views
0

我有组件AddCarWash,它们显示表单以及提交此表单的时间,我将browserHistory.push(url)重定向到另一个组件AllCarWash。在重定向之前,我加入了REDEX商店message : 'CarWash was save successfully'。此消息将显示在目标组件AllCarWash中。React-redux在显示一次后删除存储中的数据

这个消息应该只显示一次,并且在任何进一步的用户操作中都不应该显示。所以当我被展示时,我必须从redux商店中删除数据。我怎样才能做到这一点?在页面的每个Link中放入resetMessageHandler或者有很多简单的方法?

回答

0

这里是你可以做什么,当你在终极版收到消息上componentWillReceiveProps或ComponenetWillMount,那么你可以设置方法的超时20-30sec和超时功能更新状态

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

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

+0

它可以工作,但它有点不同的行为,然后我想 –

+0

然后我有其他建议,设置一个标志,当你收到道具中的味精和下一个如果标志仍然设置,则呈现,然后删除该消息,但是y你也应该使用时间,因为两次渲染可能会在某个时候发生 – abhirathore2006

相关问题