서비스 페이지에서 금융상품을 선택하여, 비교하기 팝업으로 넘겨주는 과정에서 생긴 이슈다.
분명 팀원분이 ID값만 필요하면 된다고 하셨던 것 같은데... 초기에는 Data()를 객체화 해서 넘겼다가.
단순히 ID 값만 필요한것이면, 굳이 전체데이터를 통으로 넘길 필요가 있나 싶어서
해당 코드를 수정하여, ID값만 배열 저장되도록 구현했는데. 오늘 다시 말씀하시길 ID값이 객체로 넘어와야한다. 라고하셨다..
"데이터를 팝업에선 읽지않도록 하기로 하지않았냐" 라는 것이다.
firebase 특성상 지속적으로 데이터를 통신하면 무료 할당량이 초과나기 때문에 이 얘기를 얘기했던걸로 기억했고,
인자로 받아서 해당 상품의 정보를 가져오는건... 사실 상관이 없는데 말이다.
하지만 기존 작업해두었던 코드의 기록이 남아있었고, 크게 언쟁할 필요도 없는 요소기에 재작업 후 드리기로 했다.
ㅠㅠ 이런문제는 소통의 부재로 생기는걸까 ??
먼저 해당 함수를 수정하고, 기존 배열에서 4번요소에 Data()를 객체형식으로 추가되게 수정하였다.
//* 금융상품 타입에 따른 선택된 상품의 고유 값 저장함수.
const handleSelectProducts = async (productId) => {
if (productTypes !== 2) {
try {
const docRef = doc(db, "DEPOSIT_BASE_LIST", productId);
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
const baseListData = {
id: docSnap.id,
...docSnap.data(),
};
//baseListData에서 상품코드만 구조분해할당
const { fin_prdt_cd } = baseListData;
const querySnapshot = await getDocs(
collection(db, "DEPOSIT_OPTION_LIST"),
where("fin_prdt_cd", "==", fin_prdt_cd)
);
//위에 상품코드가 똑같은거를 option에서 찾아서 map
const options = querySnapshot.docs.map((doc) => doc.data());
//selectedProductIds : 선택한 상품 들어가는 배열
const selectedProductIdsCopy = [...selectedProductIds];
for (let i = 0; i < selectedProductIdsCopy.length; i += 6) {
if (selectedProductIdsCopy[i] === "") {
//targetDoc: 선택한 상품코드가 일치한 option친구들의 속성을 가져온다.
const targetDoc = options.find(
(option) => option.fin_prdt_cd === fin_prdt_cd
);
if (targetDoc) {
selectedProductIdsCopy[i] = docSnap.id;
selectedProductIdsCopy[i + 1] = targetDoc.intr_rate;
selectedProductIdsCopy[i + 2] = targetDoc.intr_rate2;
selectedProductIdsCopy[i + 3] = targetDoc.intr_rate_type;
selectedProductIdsCopy[i + 4] = docSnap.data();
selectedProductIdsCopy[i + 5] = productTypes;
setSelectedProductIds(selectedProductIdsCopy);
setIntrRate(targetDoc.intr_rate);
setIntrRate2(targetDoc.intr_rate2);
setIntrRateType(targetDoc.intr_rate_type);
console.log(selectedProductIdsCopy);
break;
} else {
console.log(
"DEPOSIT_OPTION_LIST 컬렉션에서 해당 상품을 찾을 수 없습니다."
);
}
}
}
} else {
console.log(
"DEPOSIT_BASE_LIST 컬렉션에서 해당 상품을 찾을 수 없습니다."
);
}
} catch (error) {
console.log(error);
}
'내배캠 WIL & TIL' 카테고리의 다른 글
TIL) 스파르타 개발일지 23-03-07 (0) | 2023.03.07 |
---|---|
TIL) 스파르타 개발일지 23-03-06 (0) | 2023.03.06 |
TIL) 스파르타 개발일지 23-02-22 (0) | 2023.02.22 |
TIL) 스파르타 개발일지 23-02-21 (0) | 2023.02.22 |
TIL) 스파르타 개발일지 23-02-20 (0) | 2023.02.20 |