zustand๋ฅผ ์‚ฌ์šฉํ•œ ์œ ์ € ์ •๋ณด ์ „์—ญ ๊ด€๋ฆฌ
ยท
What I Learn
โžก๏ธ ๋ฌธ์ œ ์ƒํ™ฉ ! ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์œ ์ €์˜ email์„ ์œ ์ € ๋„ค์ž„์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์œ ์ € ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ. 1์ฐจ: useState๋กœ 1:1 ๊ด€๋ฆฌ2์ฐจ: ์ „์—ญ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด store ์ž‘์—…3์ฐจ: ๋กœ๊ทธ์ธ์ด ๋˜์—ˆ์„ ๋•Œ๋งŒ ์œ ์ €์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ๋ฆฌํŒฉํ† ๋ง 1์ฐจ ์‹œ๋„ ->ํ•„์š”ํ•œ ํŒŒ์ผ๋งˆ๋‹ค useState๋กœ ์œ ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌ (1:1)const [userData, setUserData] = useState(null) useEffect(() => { const fetchData = async () => { const supabase = createClient() const { data: { user }, error } = await supabase.auth.getUser() setU..
๋ชจ๋‹ฌ์—์„œ CRUD (zustand)
ยท
What I Learn
!! ํˆฌ๋‘๋ฆฌ์ŠคํŠธ์—์„œ ๋ชจ๋‹ฌ๋กœ CRUDํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ !!์ „์— ๋งŒ๋“ค์—ˆ๋˜ ๋ชจ๋‹ฌ์€ ์ฐจ๋ ฅ์‡ผ๋กœ ํ•˜๋‚˜ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ์–ด์„œ, ์ด๋ฒˆ์—๋Š” ์ƒํƒœ๊ด€๋ฆฌ๋„ ๋ถ™์ด๋ฉด์„œ ์ข€ ์ƒ๊ฐํ•ด๋ณด๋ฉด์„œ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•ด๋ดค๋‹ค.๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ์ด๊ธฐ๋„ ํ•˜๊ณ , ์ฃผ์Šคํƒ ๋“œ ์ข‹๋‹ค๊ณ  ๋งŽ์ด๋“ค ํ•˜์…”์„œ ์–ด๋–ค ์ ์ด ์ข‹์€์ง€ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์ž ๋„์ž…ํ–ˆ๋‹ค. ๋ฆฌ๋•์Šค๋ฅผ ์“ฐ๊ธฐ์—” ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„ˆ๋ฌด ์กฐ๊ทธ๋งฃ๊ณ ,, ์ฌ๋„๋งŒ,,, ์ด๋Ÿฐ ๋А๋‚Œ์ด์—ˆ๋‹ค. ์ผ๋‹จ task๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์•ก์…˜์— ํƒ€์ž…์œผ๋กœ boolean๊ฐ’์„ ๋ถ€์—ฌํ•˜๊ณ  ์•ก์…˜์˜ boolean ๊ฐ’์— ๋”ฐ๋ผ ๋ชจ๋‹ฌ์„ ๋ณด์—ฌ์ฃผ๊ธฐ๋กœ ์ •ํ–ˆ๋‹ค.ํ๋ฆ„์€ ๋Œ€์ถฉ ์ด๋Ÿฐ ๋А๋‚Œ.Create์ž‘์„ฑํ•˜๊ธฐ ํด๋ฆญ -> ๋ชจ๋‹ฌ open ->๋ชจ๋‹ฌ ๋‚ด์—์„œ task(title, detail) ์ž‘์„ฑ ํ›„ ์ œ์ถœํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ->๋ชจ๋‹ฌ close, ์ž‘์„ฑ๋œ task๊ฐ€ /today ํŽ˜์ด์ง€์˜ ์ปดํฌ๋„ŒํŠธ..