|
|||
---|---|---|---|
2023.11.03 ~ 2023.11.17
eslint / prettier - ๋ฌธ๋ฒ ๊ต์
react-router-dom - ๋ผ์ฐํฐ
axios - api
styled-components - css
mui/material - ํ์ด์ง ๋ค์ด์
react-spinners - ๋ก๋ฉ ์คํผ๋
react-infinite-scroll-component - ๋ฌดํ ์คํฌ๋กค
recoil - ์ ์ญ ์ํ ๊ด๋ฆฌ
- ์์ธ
- ๊ณต์ฉ ์ปดํฌ๋ํธ๋ฅผ ์์ ์๋ ์์๊ฐ ํ์ ๋ฐ๋ผ์ ๋์น๋ ํ์์ด ์ผ์ด๋จ
- ๊ฐ์ ๋ธ๋ผ์ฐ์ ์ธ ํฌ๋กฌ์์ ๋ณด์ง๋ง ์ด์์ฒด์ ๋ฐ๋ผ์ ๋ค๋ฅด๊ฒ ๋์ค๋ ํ์์ด๋ผ๊ณ ์๊ฐํ์
- ํผ๊ทธ๋ง์ ์ง์ ๋ Actor ํฐํธ๊ฐ ํ๊ธ์ ์ง์ํ์ง ์์
- ๊ทธ๋์ ๊ธฐ๋ณธํฐํธ๊ฐ ์ ์ฉ๋๊ณ ์๋์ฐ์ ๋งฅ์ ํฌ๋กฌ์์๋ ๊ธฐ๋ณธ ํฐํธ๊ฐ ๋ฌ๋ผ์ ๋ค๋ฅด๊ฒ ๋ณด์
- ํด๊ฒฐ
- ํ๊ตญ์ด ์ง์์ด ๋๋ Pretendard ํฐํธ๋ก ํตํฉ ์ ์ฉ
- ํด๋น ์๋น์ค ์ธ์ด์ ํฐํธ๊ฐ ์ง์ํ๋์ง ํ์ธํด์ผํ๋ค
- ์์ธ
- Local Storage์ ์ฌ๋ฌ ๊ฐ์ id๋ฅผ ์ ์ฅํด์ผ ํ๋๊ฐ
- ๊ทธ๋ฌ๋ฉด ์ฌ์ฉ์๊ฐ ์๋ฐฑ ๊ฐ์ ๊ณ์ ์ ๋ง๋ค๋ฉด Local Storage์ ๋ถ๋ด์ด ์ปค์ง๋ค
- ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋๋ง๋ค name์ผ๋ก ๊ฒ์ํ๋ฉด ์ข๊ฒ ์ง๋ง API์ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ด ์์
- ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ๋ฐ์์ ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ name์ ๊ฒ์ โ ์ฌ์ฉ์๊ฐ ๋ง์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋๋ค.
- ํด๊ฒฐ
- / ํ์ด์ง๋ก ์ ๊ทผ ์ Local Storage๊ฐ ์์ผ๋ฉด list ํ์ด์ง๋ก ์ด๋ํด ๊ณ์ ์์ฑ ์ฐจ๋จ
- answer ํ์ด์ง๋ก ์ด๋ํด์ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๊ณ ์ด์ฉํ๋๋ก ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ์
- ์์ธ
- post ํ์ด์ง์์ ์๋ชป๋ ์ ๊ทผ์ ์๋ โ post ํ์ด์ง ์ด๋ โ list๋ก ์ด๋
- ๊ฒ์ฌํ๊ณ ์ด๋ํ๋ ํจ์๊ฐ useEffect ํจ์ ๋ด๋ถ์ ์๋ค ๋ณด๋ ๋ ๋๋ง์ ํ๋ฉด์ ๋์์ ์คํํจ
- post ํ์ด์ง ํ ๊ณณ์์ ์๋ชป๋ ์ ๊ทผ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค๋ค์ฃผ๋ค ๋ณด๋ post ํ์ด์ง์ ์ ๊น์ด๋ผ๋ ๋ค๋ฅด๊ฒ ๋จ
- ํด๊ฒฐ
- ๋ฐ๋ก ํ์ด์ง๋ก ์ด๋ํ๋ ๊ฒ ์๋๋ผ ์ค๊ฐ์ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํด์ route์์ ์ฒ๋ฆฌํจ
- ์๋ชป๋ ์ ๊ทผ ์๋ ์ post ํ์ด์ง๋ก ์ด๋ํ์ง ์๊ณ ๋ฐ๋ก ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋
- ์์ธ
- ListPage๋ผ๋ ์์ ์ปดํฌ๋ํธ์ CardList, Paginator๋ผ๋ ํ์ ์ปดํฌ๋ํธ๊ฐ ์กด์ฌํ๋ ์ํฉ
- ํน์ ํ์ด์ง๋ฅผ ํด๋ฆญํ๋ฉด request ํธ์ถ๋ก ๋ก๋ฉ์ด ๋ฐ์ โ loading ์ฒ๋ฆฌ๋ฅผ ListPage ์ปดํฌ๋ํธ์์ return๋ฌธ์ผ๋ก ์ฒ๋ฆฌํด๋ฒ๋ ค์ ์ผ๋ฆฌ ๋ฆฌํด์ผ๋ก ์ธํด Paginator๊ฐ ์ธ๋ง์ดํธ ๋์๋ค๊ฐ ๋ค์ ๋ง์ดํธ ๋จ
- ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๋ถ๋ฌ์์ง๋ฉด์ ๋ก๋ฉ์ด ๋ฐ์ํ ๋๋ง๋ค page index์ state๊ฐ 1๋ก ์ด๊ธฐํ๋์ด์ 1๋ก ๊ณ ์ ๋๋ ํ์์ด ๋ฐ์ํจ
- ํด๊ฒฐ
- ๋ฐ์ดํฐ๊ฐ ํ๋ฉด์ ๋ณด์ด๋ ๋ถ๋ถ์ CardList ์ปดํฌ๋ํธ์ด๊ธฐ์
- ๋ก๋ฉ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ props๋ฅผ ํตํด CardList๋ก ๋๊ฒจ์ ์ฒ๋ฆฌํจ
- ์์ธ
- ์ข์์ ๋ฒํผ์ด๋ ์ซ์ด์ ๋ฒํผ์ ์ฐ์์ผ๋ก ํด๋ฆญํ๋ฉด API ํธ์ถ์ด ์ฐ์์ผ๋ก ์ผ์ด๋ ์ค๋ฅ ๋ฐ์
- ์ฐ์์ผ๋ก ํด๋ฆญํ๋ฉด ์ด๋ ์ ๋ ์ง์ฐ๋์ด ์คํํด์ผ ํ์ง ์์๊น?
- ํด๊ฒฐ
- debounce ํจ์๋ฅผ ์ด์ฉํด ์ ๋ ฅ์ด ์ง์ฐ๋์ด๋ 1๋ฒ๋ง ์ฒ๋ฆฌ๋๊ฒ ํจ
- ์์ธ
- ์ผ๋ฐฅ ๋ฒํผ์ด postCard ์์ ์์ด ๋ฐ์ ํด๋ฆญํ๋ฉด postConent๋ก ์ธ์๋จ
- ํด๊ฒฐ
- ๊ฐ์ฅ ๋ฐ์ ์๋ div์ onClick ํจ์๋ฅผ ๋ฃ์ด div๋ฅผ ํด๋ฆญํ๋ฉด ์ฌ๋ผ์ง
- ํ์ง๋ง ์ด๋ ๊ฒ ๋์ํ๋ฉด ๋ค๋ฅธ card์ ์ผ๋ฐฅ ๊ตฌ๋ถ์ด ์ด๋ ค์
- rocoil์ผ๋ก id๊ฐ์ ์ ์ฅํด card id์ ๋น๊ตํด ํด๊ฒฐ