1์์ ์ด์ด ํ์ฌ ๋ถ๋ค์ด๋ ๊ฐ์ด ๋ค์๋ค. 1๋ถ๋ ๊ธฐ์ด ๋ด์ฉ์ด์๊ณ 2๋ถ๋ ์๋ฆฌ๋ ์กฐ๊ธ ์ค๋ช
ํด์ฃผ์
จ๋ค. 1์๋ณด๋ค ๊ธฐ๋๋ฅผ ๋ ํ๊ณ ๋ค์๋๋ฐ ๋ ์ฌ๋ฐ์๋ ๋ฏ!
1๋ถ
โข
ํ๋ก ํธ์๋์์ ์ํ๊ด๋ฆฌ๋?
โข
์ด ํ๋ฉด๋ค์ ๋ชจ๋ ๋ค๋ฅธ ๋ ํฌ์งํ ๋ฆฌ์์ 3๋ช
์ด์ ๊ด๋ฆฌํ์์
โข
react-saga ๋ฑ์ด ํ์ฌ์๋ ์ ์ ๊ธฐ์ ์ธ๊ฐ?
โข
์ด๋ค ์ํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด์
โข
์ด๋ค ์ ์ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํ๋์ง
โข
string ํํ๋ ๋ด๋ถ์์๋ ๊ฒฐ๊ตญ ๋ฐฐ์ด์ผ๋ก ๋ฐ๋์ด์
โข
enabled
โข
๋ฐํ์ ๋ต๋ณ: 1๋ฒ์ ์ฐ๊ณ 1๋ฒ์ด ๋ถ๊ฐ๋ฅํ๋ฉด 2๋ฒ์ ์ธ ๊ฒ์ด๋ค
โข
๋ฐํ์ ๋ต๋ณ: option.onSuccess์์ ์ฒ๋ฆฌ
2๋ถ
โข
์ฃผ๋ฌธ ๋ฐ์ดํฐ โ ๋ฐ์ดํฐ์ ์ต์ ์ฑ์ด ์ค์ํด์ ๋ง์ด ์ฌ์ฉํ์ง ์์
โข
์ค๋ณต ์ํ๋ ์ด๋ป๊ฒ..? API
โข
QueryProvide๊ฐ ํ์ํ ์ด์
โข
storage ์ ๊ทผ: experimental๋ก persist ๊ธฐ๋ฅ ์ ๊ณต
โข
best practice ๋ฆฌ์์น์ค..
Q&A
โข
์์ฐ์ฑ, ์ ์ง๋ณด์, ๊ธฐ์ ์คํ ์ธก๋ฉด
โข
๋ ๊ฑฐ์: ์ฐ์ํ JS โ ์ ์ง๋ณด์๊ฐ ๋๋ ํ๋ ์์ํฌ
โข
๋น์ทํ ์ญํ .
โข
react-query๊ฐ ๋ ๋ง์ ๊ธฐ๋ฅ๊ณผ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ฑธ๋ก ์๊ณ ์๋ค
โข
๋น๊ต ํ์ด์ง ๋ณด๋ฉด ๋์์์
โข
ใ
ใ
.. isLoading ํฉ์น๋ ํธ. isLoading ๊ด๋ฆฌํ๋ ๋ณ์ ๋๊ณ ์ฌ์ฉ
โข
๋จผ์ ๋ณด์ฌ์ค ์ ๋ค์ ๋จผ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํจ โ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌ
โข
mobX ์ฌ์ฉ์ค.
โข
๋ฆฌ๋์ค ๋๋ฌด ๊ธธ์ด์ ๊ฐ๋ตํ๊ณ ๋๋ฉ์ธ ๋จ์๋ก ๋ฌถ์ด๋ mobX ์ฌ์ฉ
โข
๋๋ฉ์ธ ๋ณ๋ก ๋ชจ์ผ๋ ์ค๋ณต๋์ง ์์
โข
ํจ์๋ช
? ์์ฒด๋ฅผ ์ฟผ๋ฆฌํค๋ก ์ฌ์ฉ.
โข
enum ์ผ๋ก ๊ด๋ฆฌํ์๋ ์ ์๋ ํ์
โข
ํ์ด ๋ง์์ ๋ค ๋ค๋ฅด๋ค
โข
ํฌ๊ฒ ์ ๊ฒฝ์ฐ์ง ์๋๋ค
โข
API ๋ณ๋ก ์ปค์คํ
ํ ์ผ์ด ๋ง์ ๊ฐ๊ฐ ์ต์
๋ฐ๋ก ๋ฃ์ด์ ์ฌ์ฉ
โข
์ปดํฌ๋ํธ๊ฐ ๋น๋ํด์ง๋ ๋ฌธ์ ์
โข
onSuccess ์ ์ฒซ ๋ฒ์งธ ์ฑ๊ณต์ธ ๊ฒฝ์ฐ์๋ง ๋ญ๊ฐ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด ์ข๊ฒ ๋ค
โข
๊ณต๋ถํ๋ ์
์ฅ์์ ๋ ๋ค..
โข
์ฌ๊ฐ ๊ณต๋ถํ๊ณ ๋ถํธํ ์ ๋ ๋๊ปด๋ณด๊ณ ์ฟผ๋ฆฌ๋ก ๋์ด์๋ผ
โข
โ๋์ฒด ๊ฐ๋ฅํ๋คโ ๋ผ๊ณ ํ๊ธด ์ด๋ ต์ง๋ง.. api ๊ด๋ จ๋ ์ ์ญ ์ํ๋ฅผ ๋์ฒด.
โข
๋ฐ์ดํฐ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๋ค๋ฅผ ๊ฒ ๊ฐ๋ค
โข
์ฟผ๋ฆฌ ์บ์์ ์๋ ์์ฒด๋ก ์ฐ๊ฑฐ๋, ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ฃ์ด์ ์ฐ๊ฑฐ๋, ํด๋ผ์ด์ธํธ state .. ๋ฑ๋ฑ
โข
๋ฐ์ดํฐ ๊ฐ๊ณตํ๋ ํจ์๋ฅผ ๋ง๋ค ๊ฒ ๊ฐ๋ค??
โข
์๋ฌ ๋ฐ์ด๋๋ฆฌ๋ ์ฐ์ง๋ง suspense๋ก ํธ์ถํ์ง๋ ์๋๋ค
โข
suspense ์ ์ฐ๋ ์ด์ ๋ experimental ๋จ๊ณ๋ผ์.
โข
์์ด ์ฐ๋ฉด ํธํ๋ค. ๋๋ experimental์ด๋ผ์ ์์ฐ์ง๋ง.
โข
๋๋ฉ์ธ: ๋ฐฐ๋, ์ค๋ ๋ฑ๋ฑ.. ์ด ์๊ณ , ์ฝ์ด ๋ผ๋ ๋๋ฉ์ธ์ ๋ฐ๋ก ๋นผ๊ฑฐ๋ ํ ๊ฒ ๊ฐ๋ค
โข
๋ฐฑ์๋ ๋๋ฉ์ธ์ ๋ฐ๋ผ๊ฐ ์๋ ์์ ๊ฒ ๊ฐ๋ค
โข
๋ฎคํ
์ด์
๋ ๋ง์ฐฌ๊ฐ์ง
โข
๋ณ๊ฐ๋ก ์ฌ์ฉ. ์ปดํฌ๋ํธ์์ ํ์ํ ๊ฐ๋ค์ด ํฉ์ณ์ง๋ค
โข
๊ฐ์ฌํ ui ๊ด๋ จ?? ๊ณตํต ์คํ
์ดํธ๋ค
โข
์ฌํ๋ ์ด๋ฆ ์บก์ณํ๋ค ๋ชป๋ค์
โข
์ด๊ฑธ ์ ๋ฌผ์ด๋ด!
โข
์ํคํ
์ณ ํตํฉ๊ณผ ์ฎ์ด์ ์งํ. ํ๋ก๋ํธ๋ณ๋ก ํ๋์ฉ ์ฎ๊น. ์ฃผ๋ฌธ ๋ด์ญ โ ์ฃผ๋ฌธ ์ดํ โ ๋ฑ๋ฑ..
โข
ํ๋ก๋ํธ๊ฐ ์๋ค๋ฉด ํ ๋ฒ์ ํด๋ ๋ ๊ฒ ๊ฐ๊ณ .. ํ๋ฐํ
โข
์ฟผ๋ฆฌ๋ ์คํธ๋ง ๋ง๊ณ ๋ฐฐ์ด๋ก๋ ์ฌ์ฉํ ์ ์์. ํ์ด์ง ์ซ์๋ฅผ ์ฟผ๋ฆฌ์ ๋ฃ์ผ๋ฉด ๋จ
โข
๊ฒ์์กฐ๊ฑด์ state๋ก ๊ด๋ฆฌํ๋ฉด refetch ์ ๋๋๋ผ๊ณ ์.
โข
enabled: false ์ฃผ๋ฉด ๋ฉ๋๋ค~
โข
fetch ๋ฅผ ์ธ์์ ์ผ๋ก ํธ์ถํ๋ฉด ์คํ์ ๋๋ ์ฐธ๊ณ ~
โข
๋ทฐ ์ปดํฌ๋ํธ๋ ๋ถ๋ฆฌํ๋ ํธ.
โฆ
ui test ํธํ๊ณ
โฆ
๋ก์ง๊ณผ ๋ถ๋ฆฌํ๊ธฐ ์ํด์
โข
ํ๋ฉด์ ๋ณด์ด๋ ์ด์ ์บ์์ ์๋ ๊ฒ.
โข
staleTime์ด cacheTime๋ณด๋ค ๊ธด ๊ฑฐ๋ ์ค์ ์ ์๋ชป ํ ๊ฒ..
โข
์ฝ๋๊ฐ ๋ ์งง์์ก๊ณ ๊ด๋ฆฌํ๊ธฐ ํธํด์ก๋ค
โข
client state, server state ์ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํด์ผ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ ์ ์๋ค
โข
๋จผ ๋ฏธ๋์ ์ผ
โข
๋ถ๋๋ฝ์ง๋ง ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋์ง๋ ์๋ค