Firebase Auth๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์์ด๋๋ฅผ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.๋จผ์ Firebase ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ , React ํ๋ก์ ํธ์์ Firebase DB์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฒ ์ต๋๋ค.ํ๋ก์ ํธ ์ค์ ์ ํด๋ฆญํ ํ ํ๋จ์ ์๋ firebaseConfi
Firebase Realtime DB๋ฅผ ํตํด์ CRUDํ๋ ์์ ์ ํด๋ณด๊ฒ ์ต๋๋ค.์์ํ๊ธฐ ์ ์๋ ์ด๋ ค์์ ์๋ ์กฐ์ฐจ ๋ชปํ ๊ฑฐ๋ผ๋ ๋๋ ค์์ด ์์ต๋๋ค.ํ์ง๋ง ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์ต๋๋ค. ์๋ ๋ด์ฉ๋ง ์ ๋ฐ๋ผ๊ฐ๋ฉด Firebase Realtime DB๋ก CRUD ์ฝ๊ฒ ๊ฐ๋ฅํฉ๋๋ค.์ถ
์์ฃผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ ๋ช ๊ฐ์ง ์ค์ ํ ์ด๋ธ๋ง ํ์ธํ ๊ฒ์ ๋๋ค. ๋ค ์ฝ๋๋ฐ ์ ํํ 5๋ถ ๊ฑธ๋ฆฝ๋๋ค. ๊ฐ์๋ค.
redux-toolkit์ ์ด์ฉํด์ ๋น๋๊ธฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.๋น๋๊ธฐ ์ฒ๋ฆฌ๋ createAsyncThunkํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ณ ์ด๋ค ๊ธฐ๋ฅ์ด ์๋์ง ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฒ ์ฅ์์๋ react์์ react-redux๊ณผ redux-toolkit์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.์ด ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ค์์ ์ ์ฅํ ์ ์์ต๋๋ค.๋, ์ํ๋ ์ปดํฌ๋ํธ์์ ์๋ณธ ๊ฐ์ ๊ฐ์ ธ์์ ์ฌ์ฉํ ์ ์๊ณ ์กฐ์ํ ์ ์๊ฒ ๋ฉ๋๋ค.์ง์ญ์์ ๋ฐ์ด
์ด๋ฒ ์ฅ์์๋ Firebase์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.Firebase๋ฅผ ์ด์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฑ๋กํ๊ฒ ์ต๋๋ค.๊ทธ๋ฆฌ๊ณ React์์ DB๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํด ๋ณด๊ฒ ์ต๋๋ค.๊ตฌ๊ธ์ ๋ชจ๋ฐ์ผ ๋ฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ซํผ์ ๋๋ค.๋ฐฑ์๋ ์๋ฒ ๊ธฐ๋ฅ์ ํด๋ผ
์ด๋ฒ ์ฅ์์ ๋ฆฌ์กํธ ๋ผ์ฐํฐ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.๋ผ์ฐํ ์ ๋ํ ์์ธํ ์ค๋ช ๊ณผ ์์๋ฅผ ๋ณด๋ฉด์ ์ดํดํ๋๋ก ํ๊ฒ ์ต๋๋ค.์ด๊ธฐ ์น ์ฌ์ดํธ๊ฐ ํ๋ฉด์ ํด๋นํ๋ ์น ๋ฌธ์๋ฅผ ์ผ์ผ์ด ์ ์์๋ฒ์ ์ ์ฅ๋ ๊ฐ์ ํ๋ฉด์ ๋ฐ์ํ๋ ๋์ ์ธ ์น ๋ฌธ์ ๋๊ตฌ ๊ฐ๋ฐ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(Server Sid
๋ฆฌ์กํธ์์ Context๋ฅผ ์ฌ์ฉํด์ ์ํ๊ด๋ฆฌ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.Context๋ ์ปดํฌ๋ํธ๊ฐ ์ค์ฒฉ๋์ด ์๋ ์ํฉ์์ ์ํ ๊ฐ์ ์ ๋ฌํ๊ธฐ ํธ๋ฆฌํฉ๋๋ค.์์๋ฅผ ์ดํด๋ณด๋ฉด์ Context ๊ฐ๋ ์ ๋ํด์ ์์ธํ ๋ณด๊ฒ ์ต๋๋ค.์ดํ๋ฆฌ์ผ์ด์ ์์ ์ ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ๊ฐ์
useReducer()๋ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ด๋ฆฌํ ๋ ์ฌ์ฉํ๋ Hooks ์ ๋๋ค.ํน์ง์ปดํฌ๋ํธ ์ํ ์ ๋ฐ์ดํธ ๋ก์ง์ ์ปดํฌ๋ํธ์์ ๋ถ๋ฆฌ ๊ฐ๋ฅํฉ๋๋ค.๋ค๋ฅธ ์ปดํฌ๋ํธ์์๋ ํด๋น ๋ก์ง์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.useReducer() ์ฌ์ฉ ๋ฐฉ๋ฒstate : ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ ์ํ ๊ฐd
์ด๋ฒ ์๊ฐ์๋ React์์ state์ event๋ฅผ ์ค์ตํ ์ ์๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.React์์ ๋ณ์๋ฅผ ์ ์ฅํ ๋ useState๋ฅผ ์ด์ฉํด์ ์ ์ฅํ๊ณ , state๊ฐ์ ๋ฐ๊ฟ์ฃผ๋ ํจ์๋ฅผ ์ด์ฉํด์ state๊ฐ์ ๋ฐ๊พธ๋ ๋ฐฉ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.๋ถ๋ชจ ์ปดํฌ๋ํธ์์
์ด๋ฒ ์ฅ์์๋ 'React Router v6 ํํ ๋ฆฌ์ผ'์ ์ฐธ๊ณ ํ์ฌ ๋ฆฌ์กํธ ๋ผ์ฐํฐ 5๋ฒ์ ์์ 6๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ์ด๋ฏธ์ง๋ก ์ดํดํด๋ณด๊ฒ ์ต๋๋ค.๋ผ์ฐํฐ๋ ๋ฌด์์ธ์ง ์์๋ณด๊ฒ์ต๋๋ค.ํด๋ ๊ตฌ์กฐ๋ฅผ ํ์ธํ๊ณ , ๊ฐ ์ปดํฌ๋ํธ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.๋ผ์ฐํ ์ด๋ ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง๊น์ง์
์ง๊ธ๋ถํฐ ๋ฆฌ์กํธ ๊ธฐ์ด๋ฅผ ์ตํ๊ณ ๋์ ๋ง์ ์ฌ๋๋ค์ด ๋ง๋ค์ด๋ณด๋ ๊ฐ๋จํ todo ์ฑ์ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. todo ์ฑ์ ๋ง๋๋๋ฐ ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ html ํ๊ทธ๋ค์ ๊ทธ๋ ค์ฃผ๋ ์์ ์ ํด๋ณด๊ฒ ์ต๋๋ค.