Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OnSuccess

๋ฐ์ดํ„ฐ๋ฅผ ์žฌํ˜ธ์ถœํ•˜์ง€์•Š๋Š”๋‹ค. ์บ์‹ฑํ•˜๊ณ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— props drilling์ด ์ผ์–ด๋‚˜์ง€์•Š์Œ!

getTodos ๋ฆฌ์•กํŠธ ํˆฌ๋‘๋ฅผ ๊ฐ€์ง€๊ณ ์˜ค๋Š” ๊ฒƒ

์ฟผ๋ฆฌ ๊ฐ’์ด ๋ฐฐ์—ด์ธ์ด์œ ๋Š” boolean ๊ฐ’์ผ ๋•Œ true false ๋”๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค๊ฐ’์œผ๋กœ ์‚ผ์•„์„œ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•จ ์บ์‹ฑ!

๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ๋Š” ํŽธ๋ฆฌํ•˜๋‹ค. state๊ด€๋ฆฌ์— ๋Œ€ํ•œ ํŽธ์˜์„ฑ (UI๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์žฌ๋žœ๋”๋ง ํ•ด์ค˜์•ผํ•จ) useEffect ์•ˆ์จ๋„๋จ

datafetcing์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ’

๋ธ”๋กœ๊ทธ ์ž‘์„ฑ๊ธ€ ๊ฐ™์€๊ฑฐ๋Š” ์บ์‹ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ! ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒฝ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹ฑํ•˜๋ฉด์•ˆ๋จ (staleTime ์œ ํšจํ•˜์ง€์•Šใ…Ž๋„๋ก๋งŒ๋“ค์–ด์„œ)

staleTime -> 0 ๊ธฐ๋ณธ๊ฐ’ ---- useQuery๋ฅผ ๋งŒ๋‚ฌ์„ ๋•Œ ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ด cacheTime -> 5๋ถ„ ---- ๋‚ด๊ฐ€ ์–ผ๋งŒํผ ์ €์žฅ์„ ํ•˜๊ณ  ์žˆ์„์ง€? - ๋งˆ์ดํŽ˜์ด์ง€ ๊ฐ™์€ ๊ฒƒ

Queries Query Options { queryKey, staleTime ์„ค์ •๊ฐ€๋Šฅ }

use-query์—์„œ mutation: ์˜ค์ง ํŽธ์˜์„ฑ!์— ์˜ํ•ด์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  axios์™€ ๋‹ค๋ฅผ ๋ฐ” ์—†์Œ -> ์˜ค์ง ํŽธ์˜์„ฑ mutate๋Š” ๋ฌด์กฐ๊ฑด ์ƒ๋‹จ์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

mutateAsync๋Š” await์— ๊ฑธ๋ฆฐ๋‹ค. ๋ชจ๋“  ์ค„์ด ๊ฑธ๋ฆฐ๋‹ค onSuccess๋„ ํƒ€๊ณ ..

button disabled={isPending}

mutateAsync๋ฅผ ๋” ๋งŽ์ด์“ฐ๋Š” ์ด์œ  ๋กœ์ง์„ ๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ. await์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—.!

๋ถˆํ•„์š”ํ•œ ์š”์ฒญ์„ ์ค„์ด๋Š” ๊ฒƒ์€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ! - ์˜๋ฌด

invalidateQueries = refetch() ๊ฐ™๋‹ค ๊ทธ๋Ÿฌ๋‚˜ ๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ ๊ณตํ™ˆ์—์„œ๋Š” ์ „์ž๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค.

!!! ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ๋ฅผ ์—ฐ๋‹ฌ์•„ ์‚ฌ์šฉํ•  ๋•Œ ์ข‹๋‹ค. enabled : ํŠน์ •ํ•œ ๊ฐ’์ด ์˜ค๊ณ ๋‚˜์„œ ์‹คํ–‰ํ•ด๋ผ!

a -> b(a) -> c

a =3 3์ด๋ผ๋Š” ๊ฐ’์„ true๋กœ ๋ฐ”๊ฟ”์คŒ !!a -> true

if(!!a) -> a์— ๊ฐ’์ด ์žˆ์œผ๋ฉด?์ด๋ผ๋Š” ๋œป

a, b, c, ab, ac, ab ๋ฆฌ์•กํŠธ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ž์ž˜์ž์ž˜ํ•˜๊ฒŒ ์บ์‹ฑ๋˜์–ด์žˆ๋Š” ๊ฒƒ์ด ์ข‹์Œ (-> )

v5๋ถ€ํ„ฐ๋Š” onSuccess์™€ onError๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค.

queryKey: [params]

useEffect(() => { if(!data) {

}

},[data])

// ๋‚™๊ด€์ (๊ธ์ •์ ) ์—…๋ฐ์ดํŠธ // 99.99% onMutate: (data) => { // data iterable = undefined //nullํ•„์š” queryClient.setQueryData(["todo", null], (oldData) => [...oldData.data, data]) }

Suspense fallback={

Loading...
} suspense ์˜ต์…˜์ด ๊ฑธ๋ ค์žˆ์ง€์•Š์œผ๋ฉด !๋ฅผ ์“ฐ๋ฉด์•ˆ๋œ๋‹ค.

data! -> ๋ฌด์กฐ๊ฑด์žˆ๋‹ค assertion -> ? ์žˆ์„์ˆ˜๋„ ์žˆ๋‹ค. -> !๋ฅผ ์“ธ๋•Œ๋Š” Suspense๋ฅผ ๊ฑธ์–ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. -> !๋‚˜ ?๋ฅผ ์“ฐ์ง€์•Š์•„๋„ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํƒ€์ž…์„ธ์ดํ”„ํ‹ฐ ํ™˜๊ฒฝ์ด๋‹ˆ๊นŒ ๊ดœ์ฐฎ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™”๋‹ค๋Š” ๊ฒƒ์„ ๋ณดใ…—์žฅ

๋กœ๋”ฉ์œผ๋กœ onSuccess onError~~

&& ? -> ์“ธํ•„์š”๊ฐ€ ์—†๋‹ค.! assertion ์„ํ•˜๋‹ˆ๊นŒ ํƒ€์ž…์„ธ์ดํ”„ํ‹ฐํ•œ ํ™˜๊ฒฝ์ด๋ž€, ์ž๋™์™„์„ฑ์ด๋œ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages