React native 如按钮反应本机-Firebase

React native 如按钮反应本机-Firebase,react-native,firebase-realtime-database,React Native,Firebase Realtime Database,我正在尝试在我的应用程序中实现like按钮 我可以毫无问题地添加和删除like,但是当我重新启动应用程序时,like会从数据库中删除 我也不能做计数器 //func likeImage。。。 likeImage=(posted)=>{ this.setState(prevState=>{ 让liked=Object.assign({},prevState.liked); 喜欢[postid]=!喜欢[postid]; 返回{liked}; }); } //为firebase增值 setLike(

我正在尝试在我的应用程序中实现like按钮

我可以毫无问题地添加和删除like,但是当我重新启动应用程序时,like会从数据库中删除

我也不能做计数器

//func likeImage。。。
likeImage=(posted)=>{
this.setState(prevState=>{
让liked=Object.assign({},prevState.liked);
喜欢[postid]=!喜欢[postid];
返回{liked};
});
}
//为firebase增值
setLike(posted){
const{like}=this.state
const imageValue=liked[postid]
?database.ref('Likes').child(postid).child(auth.currentUser.uid).set(true)和require(“../assets/heart.png”)
:database.ref('Likes').child(postid).child(auth.currentUser.uid).remove()&&require(“../assets/heart outline.png”)
//唯一的图像。。。
//?需要(“../assets/heart.png”)
//:require(“../assets/heart outline.png”)
返回图像值
}
//钮扣状
this.likeImage(post.postid)}>

如果节点被删除,则类似于[postid]的
似乎为false、空或不存在。从你分享的代码很难说为什么。你好,谢谢回复!启动时,它是空的
constructor(props){super(props)this.state={liked:{},}
这就解释了为什么数据库内容会被删除。您希望代码区分“尚未加载”和“已加载,但为false”。