๐ก TIL 20230830 - react-hook-form mode
mode๋?
mode๋ React-hook-form์ useForm์ props ์ค ํ๋๋ก, ์ฌ์ฉ์๊ฐ submit์ ํ๊ธฐ ์ ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํํ๋ ๊ฒ์ด๋ค. (validation strategy before submitting behaviour)
mode ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์์์ ์ ์ถํ๊ธฐ ์ ์ ์ ํจ์ฑ ๊ฒ์ฌ ์ ๋ต์ ๊ตฌ์ฑํ ์ ์๋ค. ์ ํจ์ฑ ๊ฒ์ฌ๋ handlesubmit ํจ์๋ฅผ ํธ์ถํ์ฌ ํธ๋ฆฌ๊ฑฐ๋๋ onSubmit ์ด๋ฒคํธ ์ค์ ๋ฐ์ํ๋ค.
1) onSubmit
์ ํจ์ฑ ๊ฒ์ฌ๋ ์ ์ถ ์ด๋ฒคํธ์์ ํธ๋ฆฌ๊ฑฐ๋๋ฉฐ, ์ ํจํ์ง ์์ ์ ๋ ฅ์ onChange ์ด๋ฒคํธ ๋ฆฌ์ค๋์ ์ฐ๊ฒฐํ์ฌ ์ ํจ์ฑ์ ์ฌํ์ธํ๋ค.
2) onBlur
๋ธ๋ฌ ์ด๋ฒคํธ์์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํธ๋ฆฌ๊ฑฐ๋๋๋ฐ, ๋ธ๋ฌ ์ด๋ฒคํธ๋ ์ฌ์ฉ์์ focus๊ฐ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ํ์ ๋ ์ด๋ฒคํธ๋ฅผ ์๋ฏธํ๋ค.
3) onChange
input value๊ฐ change๋ ๋๋ง๋ค ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํธ๋ฆฌ๊ฑฐ๋๋ฏ๋ก ๋ ๋๋ง์ด ์ฌ๋ฌ ๋ฒ ๋ค์ ์ํ๋๋ค. ๋ฐ๋ผ์ onChange์ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก ์ฌ์ฉ์ ์ฃผ์๊ฐ ํ์ํ๋ค.
4) onTouched
์ ํจ์ฑ ๊ฒ์ฌ๋ ์ฒ์์ ์ฒซ ๋ฒ์งธ blur ์ด๋ฒคํธ์์ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค. ๊ทธ ์ดํ์๋ ๋ชจ๋ change ์ด๋ฒคํธ์์ ํธ๋ฆฌ๊ฑฐ๋๋ค.
5) all
์ ํจ์ฑ ๊ฒ์ฌ๋ blur ๋ฐ change ์ด๋ฒคํธ ๋ชจ๋์์ ํธ๋ฆฌ๊ฑฐ๋๋ค. ์ด ๊ฒฝ์ฐ๋ input value๊ฐ change ๋ ๋๋ง๋ค ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ๋ฏ๋ก ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ค๋ ์ ์ ์ฃผ์๊ฐ ํ์ํ๋ค.