๐ 1๏ธโฃ Service Layer
Firestore์ API ํธ์ถ ๋ก์ง์ด ์ปดํฌ๋ํธ์ ์์ด๋ฉด
์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ๋จ์ด์ง๋ค๊ณ ํ๋จํ์ต๋๋ค.
๊ทธ๋์ ๋ฐ์ดํฐ ์ ๊ทผ ๋ก์ง์ Service Layer๋ก ๋ถ๋ฆฌํ์ฌ
UI์ ๋ฐ์ดํฐ ๋ก์ง์ ๋ช
ํํ๊ฒ ๋ถ๋ฆฌํ์ต๋๋ค.
๐ 2๏ธโฃ Custom Hook
๋ฐ์ดํฐ fetching์ด๋ ์ํ ๊ด๋ฆฌ ๋ก์ง์ด ์ฌ๋ฌ ์ปดํฌ๋ํธ์ ๋ฐ๋ณต๋๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Custom Hook์ผ๋ก ๋ถ๋ฆฌํ์ฌ
๋ก์ง ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ปดํฌ๋ํธ ๋จ์ํ๋ฅผ ๋ชฉํ๋ก ํ์ต๋๋ค.
๐ 3๏ธโฃ Zustand ์ ํ ์ด์
์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํ ๋
Redux๋ ๋ณด์ผ๋ฌํ๋ ์ดํธ๊ฐ ๋ง์ ํ๋ก์ ํธ ๊ท๋ชจ์ ๋นํด ๊ณผํ๋ค๊ณ ํ๋จํ์ต๋๋ค.
Zustand๋ ๊ตฌ์กฐ๊ฐ ๊ฐ๋จํ๋ฉด์๋ ์ ์ญ ์ํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด
ํ์ฌ ํ๋ก์ ํธ ๊ท๋ชจ์ ์ ํฉํ๋ค๊ณ ํ๋จํ์ฌ ์ ํํ์ต๋๋ค.
๐ 4๏ธโฃ Firestore onSnapshot
์ด๊ธฐ์๋ fetch ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ง๋ง
๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ UI๊ฐ ์ฆ์ ๋ฐ์๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด onSnapshot์ ์ฌ์ฉํ์ฌ
์ค์๊ฐ ๋ฐ์ดํฐ ๋ฐ์ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๐ 5๏ธโฃ ์ ์ฒด ๊ตฌ์กฐ ์ค๊ณ
์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ผ๋ก ๋๊ณ ์ค๊ณํ์ต๋๋ค.
UI, ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ์ ๊ทผ์ ๋ถ๋ฆฌํ์ฌ
๊ฐ ๋ ์ด์ด์ ์ฑ
์์ ๋ช
ํํ๊ฒ ๋๋๋ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ์ต๋๋ค.