이제 작성한 트윗들을 가져올거임
firestore에는 onsnapshot이라고 실시간으로 문서를 가져오는 기능이 있음
Cloud Firestore로 실시간 업데이트 가져오기 | Firebase
5월 14일, Google I/O에서 Firebase를 다시 만나보세요. 지금 등록하기 의견 보내기 Cloud Firestore로 실시간 업데이트 가져오기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분
firebase.google.com
그래서 이 기능을 사용해서 작성한 트윗들이 바로바로 반영되게 만들어 보겠음
https://goodteacher.tistory.com/543
[vue 3] 12.Vue 객체의 라이프 사이클
이번 포스트에서는 상당히 길고 복합한 Vue 객체의 라이프 사이클에 대해서 살펴보자. Vue 객체의 라이프 사이클 Vue 객체는 beforeCreate에서 부터 unmounted까지 여러 단계를 거쳐 사용되는데 각 단계
goodteacher.tistory.com
onBeforeMount를 사용하여 tweets 를 가져온다.
- change.type === "added": 새로운 문서가 추가되었을 때는 tweets 배열에 해당 문서 데이터를 삽입합니다.
- change.type === "modified": 기존 문서가 수정되었을 때는 tweets 배열에서 해당 문서 데이터를 수정합니다.
- change.type === "removed": 문서가 삭제되었을 때는 tweets 배열에서 해당 문서 데이터를 제거합니다.
라는 뜻임
그리고 그 배열을 return으로 전달 한 후
트윗 컴포넌트에 tweet이라는 이름으로 전달한다.
트윗 컴포넌트에서는 props로 tweet을 받아서 사용할거임
근데 create_at의 경우 우리가 아는 날짜 형식으로 나오지 않기 때문에
moment 라는 라이브러리를 설치하여 쉽게 우리가 원하는 형식으로 바꿔줄거임
moment(tweet.created_at)만 작성하면 날짜 전체가 나오고 format도 변경이 가능하나
이번에 구현하고자 하는 것은 이 트윗이 몇 시간 전에 생성이 되었는지를
표시하고자하기에 fromNow를 사용했다.
위와 같이 코드를 수정하면 이렇게 출력된다.
현재 uid부분이 문제인데 이것은 다음 포스트에서 트윗의 uid를 통해 email을 가져오도록 코드를 수정할 예정
https://www.npmjs.com/package/moment
moment
Parse, validate, manipulate, and display dates. Latest version: 2.30.1, last published: 3 months ago. Start using moment in your project by running `npm i moment`. There are 68442 other projects in the npm registry using moment.
www.npmjs.com
'FRONTEND > Vue' 카테고리의 다른 글
[Vue3 + vite + tailwindCSS] 트윗 모달 팝업 (0) | 2024.03.22 |
---|---|
[Vue3 + vite + tailwindCSS] 트윗에 유저 정보 표시하기 (0) | 2024.03.22 |
[Vue3 + vite + tailwindCSS] tweet 입력 및 firebase 저장 (0) | 2024.03.22 |
[Vue3 + vite + tailwindCSS] firestore정보 사용하기 & 현재 메뉴 색 변경하기 (0) | 2024.03.20 |
[Vue3 + vite + tailwindCSS] navigation guard 및 로그아웃 (0) | 2024.03.20 |