【发布时间】:2020-05-30 00:24:40
【问题描述】:
我是 react-native 的初学者,我实际上是在 React-Native 中开发一个事件应用程序,我正在尝试创建一个喜欢/不喜欢按钮。这是我的代码,但不起作用
const [likes,setLikes] = useState('');
const [liked,setLiked] = useState(false);
const eventInfo = ()=>{
const getInfo = firebase.database().ref('/users/event/' +postKey)
getInfo.on('value', snapshot => {
console.log('User data: ', snapshot.val())
setLikes(snapshot.val().likes)
// setIntersted(snapshot.val().interested)
// setInterestedNmb(snapshot.val().interestedNmb)
// setInterestedName(snapshot.val().interestedName)
setLiked(snapshot.val().liked)
});
}
const like = () => {
const updateLike = firebase.database().ref('/users/event/' +postKey)
updateLike.update({
likes: likes +1 ,
liked: true
})
};
const dislike = () => {
const updateLike = firebase.database().ref('/users/event/' +postKey)
updateLike.update({
likes: likes -1 ,
liked: false
})
};
问题是当我按下一位用户的<TouchableOpacity onPress={()=> like() /> 时。就像在所有用户中转换为 true 一样。如果用户按赞,我想创建一个列表。添加到列表中的用户 ID。如果用户 id 在列表中,就像是 true 。如果用户 ID 不在列表中。喜欢是假的
请给我一个解决方案
提前致谢!
【问题讨论】:
-
您能更好地描述一下您面临的问题吗?
-
感谢您的评论,问题是当我按下
<TouchableOpacity onPress={()=> like() />时,一位用户喜欢在所有用户中转换为真
标签: reactjs firebase react-native expo