#4주차_3 데이터베이스 – 쓰기
ScrollView 에선 alignItems:"center" 라는 스타일을 사용하면 에러가 난다.
exp://192.168.0.13:19000
12. [파이어베이스] 리얼타임 데이터베이스 – 쓰기
firebaseConfig.js 의 데이터 베이스 설정
expo-application 공식문서
https://docs.expo.dev/versions/latest/sdk/application/#api
쓰기를 위해 uniqueId를 부여하기 위한 작업...?
expo install expo-application
uniqueId는 isIOS가 ios, apple인지 종류에 따라 어떻게 변하는 지 확인한다.
>> 소스 <<
import * as Application from 'expo-application';
const isIOS = Platform.OS === 'ios';
let uniqueId;
if(isIOS){
let iosId = await Application.getIosIdForVendorAsync();
uniqueId = iosId
}else{
uniqueId = Application.androidId
}
console.log(uniqueId)
#찜하기 함수
const like = async()=>{
// like 방 안에
// 특정 사용자 방안에
// 특정 찜 데이터 아이디 방안에
// 특정 찜 데이터 몽땅 저장!
// 찜 데이터 방 > 사용자 방 > 어떤 찜인지 아이디
let userUniqueId;
if(isIOS){
let iosId = await Application.getIosIdForVendorAsync();
userUniqueId = iosId
}else{
userUniqueId = await Application.androidId
}
console.log(userUniqueId)
//저장을 하는 함수는 firebase의 set 함수이다.
firebase_db.ref('/like/'+ userUniqueId +'/'+tip.idx).set(tip, frunction(error){
console.log(error)
Alert.alert("찜 완료!")
});
}
firebasedatabase > Realtime Database 에 저장된 값 조회
DetailPage안의 팁 찜하기 버튼에 링크걸기
<TouchableOpacity style={styles.button} onPress={()=>like()}><Text style={styles.buttonText}>팁 찜하기</Text></TouchableOpacity>
체크 : 목록성일 경우의 찜함수 고민