๊ฐ๋ฐ์ 99% ์ปค๋ฎค๋ํฐ์์ ์๋ค ๋จ์ด์!
์๊ธฐ์๊ฐ
React + Firebase๋ก ํธ์ํฐ ํด๋ก ์ฝ๋ฉ ์งํ ์ค์ ๋๋ค
ํธ์์ ์์ฑํ๊ณ , ์์ ํ๊ณ , ์ญ์ ํ ์ ์๋ CRUD ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค
๊ตฌํํ ๊ธฐ๋ฅ ์๊ฐ
-ํธ์ ์์ฑ(PostTweetForm)
textarea๋ก ํธ์ ์ ๋ ฅ (์ต๋ 180์ ์ ํ, ๊ณต๋ฐฑ๋ง ์ ๋ ฅ ์ ์ ์ถ ๋ถ๊ฐ)
Firebase Firestore์ ํธ์ ๋ฐ์ดํฐ ์ ์ฅ (tweet, createdAt, username, userId)
๋ก๊ทธ์ธ๋ ์ฌ์ฉ์๋ง ์์ฑ ๊ฐ๋ฅ, ๋ก๋ฉ ์ค์ ์ค๋ณต ์ ์ถ ๋ฐฉ์ง
์ ์ก ์ฑ๊ณต์ textarea ๋ฆฌ์
ํ์ผ(image/*) ์ ๋ก๋ UI (์๊ธ์ ์ ํ์ผ๋ก ์ ํ๋ง ๊ฐ๋ฅ)
-ํธ์ ์์ &์ญ์ (Tweet)
๋ก๊ทธ์ธํ ํด๋น ํธ์ ์์ฑ์๋ง Edit/Delete ๋ฒํผ ํ์
Edit: textarea๋ก ์ ํ ํ ์์ ๊ฐ๋ฅ
Save: updateDoc( )์ผ๋ก Firestore ์ ๋ฐ์ดํธ
Delete: confirm( ) ํ์ธ์ฐฝ์ผ๋ก ์ค์ ๋ฐฉ์ง, deleteDoc( )์ผ๋ก ์ญ์
Cancel: ํธ์ง ์ค ์ทจ์์ ์๋ ๋ด์ฉ ๋ณต์
๊ณต๋ฐฑ ์ ๋ ฅ ๋ฐฉ์ง, ์ ์ฅ ์ค ๋ฒํผ ๋นํ์ฑํ
๊ตฌํ ๋ชจ์ต ์คํฌ๋ฆฐ์ท & ๊นํ๋ธ ๋งํฌ


https://github.com/hyhy425/nwitter-reloaded/commit/18e7985ccefda4679edc796401d1b9c703f9d1b5
๊ณ ๋ฏผ. ๊ณต์ ํ๊ณ ์ถ์ ํ
๊ณต๋ฐฑ ์ ๋ ฅ ๋ฐฉ์ง๋ ๋จ์ํ์ง๋ง ๊ผญ ํ์ํ ๊ธฐ๋ฅ, trim( )์ผ๋ก ์ฒ๋ฆฌํ๋ฉด DB์ ๋ถํ์ํ ๊ณต๋ฐฑ์ด ๋จ์ง ์์
๋์ค์ ๊ธฐํ๊ฐ ๋๋ฉด Storage ์ฐ๊ฒฐํด์ ์ฌ์ง ์ ๋ก๋ + ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ตฌํํ ์์
๊ณตํต์ผ๋ก ์ฐ์ด๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํด๋๋ ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๊ฒฐํด์ง๊ณ , ์ ์ง๋ณด์๊ฐ ํธํด์ง