• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 자바스크립트와 파이어베이스 사용 중 삭제 기능 질문

자바스크립트와 파이어베이스 사용 중 삭제 기능 질문

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #57644

    다민
    참가자
    당근마켓 강의 수강 후 복습 개념으로 트위터를 클론하고 있습니다. 
    그런데 트윗으로 올린 후 삭제 기능을 구현하고 싶은데 어떻게 할 지 모르겠습니다. ㅠㅠ
    이것저것 시도 해봤으나 도무지 진행되지 않아 조언 부탁 드립니다. 
    
    
    const LogOutButton = document.querySelector(".LogOutButton") ; 
    const Container = document.querySelector(".TWEET-DIV") ;
    const TweetInput = document.querySelector(".TweetTextBox") ; 
    const TweetButton = document.querySelector(".tweetButton") ;
    const ProfileButton = document.querySelector(".profieEditButton") ; 
    const ProfileEditButton = document.querySelector(".profileEditButton") ; 
    const EditForm = document.querySelector(".editForm") ; 
    const EditCancleButton = document.querySelector(".X") ;
    const DeleteButton = document.querySelector(".DeleteButton") ; 
     
    const NameInput = document.querySelector(".NameInput") ;
    const db = firebase.firestore() ; 
    const storage = firebase.storage() ;
    let storageRef = firebase.storage().ref();
    let 내uid = JSON.parse(localStorage.getItem('user')).uid ;
    let URL = new URLSearchParams(window.location.search) ;
    db.collection('Tweets').get().then((result)=>{
    result.forEach((doc) => {
    let UID = doc.data().UID
    console.log(doc.data().NAME)
    if (doc.data().IMAGE == null) { 
    if (내uid == UID) {
    Container.insertAdjacentHTML('beforeend', 
    `<div class="tweetForm">
     <div class="profileIMG" style="background-image: url('https://via.placeholder.com/350')"></div>
     <div class="form-tt">
     <p class="name-date"> ${doc.data().NAME} / ${doc.data().DATE} </p>
     <p class="tweet"> ${doc.data().TWEET} </p>
     </div>
     </div>`)
     }
     } else if (내uid == UID){
    Container.insertAdjacentHTML('beforeend', 
    `<div class="tweetForm">
     <div class="profileIMG" style="background-image: url('https://via.placeholder.com/350')"></div>
     <div class="form-tt"> 
     <p class="name-date"> ${doc.data().NAME} / ${doc.data().DATE} </p> 
     <p class="tweet"> ${doc.data().TWEET} </p>
     <div class="thumbnail" style="background-image: url('${doc.data().IMAGE}')"></div>
     </div>
     </div>`)
     }
     })
    })
    const onClickProfileHidden = () => {
    EditForm.classList.remove("hidden")
    }
    ProfileEditButton.addEventListener("click", onClickProfileHidden) ;
    const onClickCancle = () => {
    EditForm.classList.add("hidden")
    }
    EditCancleButton.addEventListener("click", onClickCancle) ;
    db.collection('users').get().then((result)=> {
    result.forEach((doc) => {
    const EditButtonContainer = document.querySelector(".profileForm") ; 
    EditButtonContainer.insertAdjacentHTML('beforeend', 
    `<div class="profileContainer">
     <button class="profieEditButton"><a href="/profile.html?id=${doc.id}"> edit </a></button>
     </div>`)
     })
    })
    const onClickLogOut = () => {
    firebase.auth().signOut().then(function() {
    localStorage.clear() ; 
    alert("로그아웃 되었습니다") 
    window.location.href = "/index.html"
     }).catch((error) => {
    alert(error.message)
     });
    }
    LogOutButton.addEventListener("click", onClickLogOut) ;
     
    #57647

    codingapple
    키 마스터
    삭제버튼누르면 해당 document id를 찾아서 db.collection('').doc(documentid어쩌구).delete() 하라고 코드짭시다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠