#5 State Management
Last updated
Was this helpful?
Last updated
Was this helpful?
๊นํ๋ธ
useForm < input ๋์ฉ ์ฑ๋ฅ ๋ฏธ์นจ
์ฌ์ฉํ๊ธฐ ์ฌ์ด ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํด ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ ์ ์ฐํ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ form
์กฐ๊ฑด์ ์ค์ ํ๊ณ , ์๋ฌ ๋ฐ์์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ๋ฑ ์ ์ฉํ ๊ธฐ๋ฅ์ด ๊ฐ๋ํ๋ค.
์ค์น
npm install react-hook-form
๐ถregister: name, onBlur, onChange, onClick, ref๋ฅผ returnํ๋ ํจ์ < input {...register("category") ... > register ํจ์๊ฐ ๋ฐํํ๋ ๊ฐ์ฒด๋ฅผ input์ props๋ก ์ฌ์ฉ ๊ฐ๋ฅ < input onSubmit={} onClick={} onBlur={} > ๊ฐ์ ๋๋
๐ถwatch: form์ ์ ๋ ฅ๊ฐ ๋ณํ๋ฅผ ๊ด์ฐฐํ๋ ํจ์
handleSubmit > ์ด ํจ์๋ form ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์ฑ๊ณตํ๋ฉด form ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ต๋๋ค.
required > ํ์ ์์ ์ง์ submit ์ ๋น์ด์์ผ๋ฉด ์๋ฆผ (true, text ๋ ํ์ ์ฌ์ฉ ๊ฐ๋ฅ)
minLength > ์ต์ ๊ธธ์ด ์ง์ + ๋ฉ์์ง ๋ณด๋ด๊ธฐ ๊ฐ๋ฅ
formState
setError > ์ถ๊ฐ์ ์ธ ์๋ฌ ๋ฐ์์ ์๋ฌ ๋์ฐ๊ธฐ
validate > ๊ฒ์ฌ๋ง๋ค๊ธฐ
shouldFocus?: boolean > ์ค๋ฅ ๋ฐ์ํ๋ ์์์ focus
setValue
reset
selectors on recoil
Selector๋ ํ์๋ state(derived state)์ ์ผ๋ถ๋ฅผ ๋ํ๋ธ๋ค.
์ฆ, ๊ธฐ์กด state๋ฅผ ๊ฐ์ ธ์์, ๊ธฐ์กด state๋ฅผ ์ด์ฉํด ์๋ก์ด state๋ฅผ ๋ง๋ค์ด์ ๋ฐํํ ์ ์๋ค. ๊ธฐ์กด state๋ฅผ ์ด์ฉ๋งํ ๋ฟ ๋ณํ์ํค์ง ์๋๋ค. derived state๋ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์์กดํ๋ ๋์ ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ฅํ ๊ฐ๋ ์ด๋ค.
enums
์ด๊ฑฐํ์ TypeScript๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ ์ค ํ๋์ ๋๋ค.
enum์ ์ด๊ฑฐํ์ผ๋ก ์ด๋ฆ์ด ์๋ ์์๋ค์ ์งํฉ์ ์ ์ํ ์ ์์ต๋๋ค.
์ด๊ฑฐํ์ ์ฌ์ฉํ๋ฉด ์๋๋ฅผ ๋ฌธ์ํ ํ๊ฑฐ๋ ๊ตฌ๋ถ๋๋ ์ฌ๋ก ์งํฉ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ ์์ต๋๋ค. TypeScript๋ ์ซ์์ ๋ฌธ์์ด-๊ธฐ๋ฐ ์ด๊ฑฐํ์ ์ ๊ณตํฉ๋๋ค.
https://www.typescriptlang.org/ko/docs/handbook/enums.html
RECOIL ๊ณต๋ถํ๊ธฐ..!