Javascript 如何清除ReactJS组件中的状态?

Javascript 如何清除ReactJS组件中的状态?,javascript,reactjs,Javascript,Reactjs,我正在使用react js和firebase数据库开发一个聊天应用程序,一切正常,但当我打开一个新的人与其他人聊天之前的聊天信息时 有指向已部署应用程序的链接: 问:如何在每次调用聊天功能时清除状态,以便没有来自上一次聊天的消息 代码: 从“React”导入React 从'react redux'导入{connect}; 从“../store/action”导入{adding_Dummy,get_user} 从“../config/firebase”导入firebase 类Chat扩展了Rea

我正在使用react js和firebase数据库开发一个聊天应用程序,一切正常,但当我打开一个新的人与其他人聊天之前的聊天信息时

有指向已部署应用程序的链接:

问:如何在每次调用聊天功能时清除状态,以便没有来自上一次聊天的消息

代码:

从“React”导入React
从'react redux'导入{connect};
从“../store/action”导入{adding_Dummy,get_user}
从“../config/firebase”导入firebase
类Chat扩展了React.Component{
构造函数(){
超级()
此.state={
聊天室用户:{},
聊天室:[],
信息:[]
}
}
聊天=(用户)=>{
这是我的国家({
聊天室用户:用户
})
让cu_user=this.props.current_user
让chat\u user=this.state.chat\u user
让merged\u uid=this.uid\u merge(cu\u user.uid,user.uid);
console.log('hammad',user.uid)
console.log('osama',cu_user.uid)
log('uid\uuuu WARS',cu\u user.uid)
console.log('merged\u uid>>>',merged\u uid)
此.get\u消息(合并的\u uid)
}
uid\U合并=(id1,id2)=>{
如果(id1{
让用户=this.props.current_用户
让chat\u user=this.state.chat\u user
让merged\u uid=this.uid\u merge(user.uid,chat\u user.uid);
firebase.database().ref('/').child(`chat/${merged\u uid}`).push({
消息:this.state.message,
name:user.name,
uid:user.uid
})
//this.state.chat.push({
//消息:this.state.message
// })
//这是我的国家({
//聊天室:this.state.chats,
//消息:“”
// })
}
获取消息=(uid)=>{
firebase.database().ref('/').child(`chat/${uid}`)。on('child_added',(message)=>{
this.state.chat.push(message.val())
这是我的国家({
聊天室:this.state.chat,
消息:“”
})
})
}
componentDidMount(){
this.props.get_user()
this.props.get_user()
}
render(){
console.log('stateChat=>',this.state)
让用户=this.props.current_用户
console.log('thistaet==>s',this.state)
console.log('asdCU',this.props.current_用户)
返回(
欢迎!{user.name}
电子邮件:{user.Email}
this.props.dum_data()}>添加虚拟对象
console.log(this.props)}>props
this.props.get_user()}>get user
{/*console.log(e.target.value)}>按钮*/}
聊天用户
    {this.props.users.map((v,i)=>{ 返回v.uid!==user.uid&
  • {v.name}this.chat(v)}>chat
  • })}
闲聊 {Object.keys(this.state.chat_user).长度? {this.state.chat_user.name}
    {this.state.chat.map((v,i)=>{ return
  • {v.message}
  • })} {this.setState({message:e.target.value}}}type=“text”placeholder=“在此处输入”/> 此.send_message()}>send
: 没有用户 } ) } } 常量mapStateToProps=(状态)=>({ 当前用户:state.current\u用户, 用户:state.users }) const mapDispatchToProps=(调度)=>({ dum_数据:()=>调度(添加_Dummy()), 获取用户:()=>调度(获取用户()), })
导出默认连接(MapStateTops,mapDispatchToProps)(聊天);
当用户单击名称的
聊天
按钮时,需要清除消息

this.chat(v)}>chat

在chat()方法中,更新以重置处于状态的消息

this.setState({
            chat_user: user,
            chat: [],
            message: []
        })