Closed ding-co closed 1 year ago
BaseAPI
class ์ post, put, get, delete ๋ฉ์๋ ๋ด๋ถ์์ try-catch ๋ก ๊ฐ์ธ์ จ๋๋ฐ ๊ณตํต์ ์ผ๋ก ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ์ฅ์ ๋ ์์ง๋ง ์ ๋ ๋ณดํต ์ฌ๊ธฐ์๋ ๊ทธ๋ฅ ์๋ฌ๋ฅผ ํฐ์ง๊ฒ ํ๊ณ ์ฌ์ฉํ๋ ๊ณณ์์ ํธ๋ค๋ง ํ๋ ๊ฑธ ์ ํธํฉ๋๋ค!react-query ์ onError ๋ error-boundary ๋ก ์ํฉ์ ๋ง๊ฒ ์ฒ๋ฆฌํ๊ธฐ ํธํ์ด์์ ๊ฐ์ธ์ ์ธ ์๊ฐ์ ๋๋ค!
react-query
๋ฅผ ์ฌ์ฉํ์๋ฉด์ ๋ฐ๋ณต๋๋ ์๋ฌ์ฒ๋ฆฌ๊ฐ ๋ฐ์ํ์ ๊ฒ ๊ฐ์๋ฐ ์ด๋ฐ ์ฒ๋ฆฌ๋ค์ ์ด๋ป๊ฒ ํ์
จ๋์ง ๊ถ๊ธํฉ๋๋ค!
BaseAPI
class ์ post, put, get, delete ๋ฉ์๋ ๋ด๋ถ์์ try-catch ๋ก ๊ฐ์ธ์ จ๋๋ฐ ๊ณตํต์ ์ผ๋ก ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ์ฅ์ ๋ ์์ง๋ง ์ ๋ ๋ณดํต ์ฌ๊ธฐ์๋ ๊ทธ๋ฅ ์๋ฌ๋ฅผ ํฐ์ง๊ฒ ํ๊ณ ์ฌ์ฉํ๋ ๊ณณ์์ ํธ๋ค๋ง ํ๋ ๊ฑธ ์ ํธํฉ๋๋ค! react-query ์ onError ๋ error-boundary ๋ก ์ํฉ์ ๋ง๊ฒ ์ฒ๋ฆฌํ๊ธฐ ํธํ์ด์์ ๊ฐ์ธ์ ์ธ ์๊ฐ์ ๋๋ค!
react-query
๋ฅผ ์ฌ์ฉํ์๋ฉด์ ๋ฐ๋ณต๋๋ ์๋ฌ์ฒ๋ฆฌ๊ฐ ๋ฐ์ํ์ ๊ฒ ๊ฐ์๋ฐ ์ด๋ฐ ์ฒ๋ฆฌ๋ค์ ์ด๋ป๊ฒ ํ์ จ๋์ง ๊ถ๊ธํฉ๋๋ค!
์ ๊ฐ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ์์ฃผ ๊น๊ฒ ์ํด๋ด์ ๊ทธ๋ฐ๊ฑธ ์๋ ์๊ธด ํ๋ฐ
๊ณตํต์ ์ธ ์๋ฌ ์ฒ๋ฆฌ ๋ก์ง์ด ์๊ธด ํ์ง๋ง
์ฌ๊ธฐ์ BaseAPI
์ ๊ฐ์ด ๋ชจ๋ ์์ฒญ์ ์ฐ์ด๋ ๋ฉ์๋ ๋ด๋ถ์์ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ์ ์กฐ๊ธ์ฉ ๋ค๋ฅธ ๋ถ๋ถ์ด ์๊ธฐ๋๋ผ๊ตฌ์!
๊ธฐ๋ณธ์ ์ผ๋ก onError
์์ ์๋ฌ ์๋ด ๋ชจ๋ฌ ๋์์ฃผ๋ ๊ฒ + ๊ฐ api ์ status code ์ ๋ฐ๋ฅธ ์ถ๊ฐ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ณ๋ก ํ๊ณ
get api ์์ ๋ ์๋ฌ์ ๊ฒฝ์ฐ ์๋ฌ UI ๊ฐ ์์ผ๋ฉด error-boundary ๋ฅผ ์ด์ฉํด์ ์ ์ธ์ ์ผ๋ก ์ถ๊ฐํด์ฃผ์์ต๋๋ค!
์ ๋ง ๋ชจ๋ api ์์ ์ฒ๋ฆฌํด์ผ ํ ๊ณตํต ๋ก์ง์ด ์๋ค๋ฉด QueryClient
์์ ์ ์ญ ์ค์ ์ ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค์
๐ ๋ณ๊ฒฝ์ฌํญ
๐ ์ค์ ์ ์ผ๋ก ๋ณผ ๋ถ๋ถ
โ ํ ์คํธ ์ฒดํฌ๋ฆฌ์คํธ
๐ ์คํฌ๋ฆฐ์ท
๐ซ ๊ธฐํ์ฌํญ