์ข์๋ ์
React-hook-form์์ ์ ๊ณตํด์ฃผ๋ ์ปค์คํ ํ ์ ์ด์ฉํ๋ฉด ์ ๋ง ๊ฐํธํ ํผ์ ์กฐ์ํ ์ ์์๋ค.
๋จ์ํ ์์ฒ๋ผ ์ ๊ณ ์ด๋ฅผ input์ ๋ฃ์ด์ค๋ค๋ฉด ์ด๋ฉ์ผ์ด ๋น์์ ๋, ์ ๊ท์์ ๋ง์ง ์์๋, checkIsDuplicated๋ผ๋ ๋น๋๊ธฐ ํจ์์์ true๊ฐ ์๋ ์๋ฌ๋ฅผ ๋ฆฌํดํ ๋ ๊ฐ๊ฐ ์๋ง์ error๋ฅผ ์ธํ ํด์ค๋ค.
์ฝ๋๋ ๊ฝค๋ ๊น๋ํ๊ฒ ์งค ์ ์์๊ณ ๋๋ฌด ๋ง์์ ๋ค์๋ค.
๋ณ๋ก ์๋์
์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์๊ณ ์ ์ถ ๋ฒํผ์ ๋๋ฅด๋ฉด react-hook-form์์ ์ ๊ณตํ๋ ํจ์์ธ handleSubmit์ ์คํ์์ผ error๊ฐ ์์์์ api request๋ฅผ ๋ณด๋ด์ง ์๋๋ก ํ์๋ค. ๋ฌธ์ ๋ ์ด handleSubmit์ ์คํํ๋ฉด ์์ ๊ฐ์ด ์๋์ผ๋ก focusing์ด ๋๋ค๋ ๊ฒ์ด๋ค.(์๋ฌ๊ฐ ๋ณด์ฌ์ผ ํ๋๋ฐ ์๋์ผ๋ก focusing ๋ผ์ ๋ณด์ด์ง ์๋๋ค) ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์ธํ ์ค์ focusing ๋๋ ์ธํ์ด ๋ด๊ฐ ๋ค๋ฅด๊ฒ ์์ฑํ ์ฝ๋์ ๋ฐ๋ผ ๋ฐ๋์๋ค. ์๋์ผ๋ก focusing ๋๋ ๊ฒ๋ ๋ง์์ ์๋ค์ง๋ง ๋ด๊ฐ ์ถ๊ฐํ ๊ธฐ๋ฅ ๋๋ฌธ์ focusing๋๋ ์ธํ์ด ๋ฐ๋๋ ๊ฒ ๋ํ ๋ง์์ ๋ค์ง ์์๋ค
React-hook-form ์ฝ๋ ๊น๋ณด๊ธฐ
์ด์๋ํ ์๋ฌธ์ ํ๊ณ react-hook-form ์ฝ๋๋ฅผ ๊น๋ณด์๋ค
์๋๋ ๋ค๋ฅผ๊น ์ธํ๋ค ์ค์ ํ๋๋ฅผ focusing์ ํด์ฃผ๋ ๋ฏํ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ์๋ค.
๋ก์ปฌ์์ ์คํํด๋ณด๊ธฐ
์๋ฌด๋๋ ์ฝ๋ ๊ท๋ชจ๊ฐ ํฐ ์คํ์์ค์ด๋ค ๋ณด๋ ์ฝ๋ ํ์ ์ด ์ฝ์ง ์์๋ค. ์ด๋ป๊ฒ ๋์ํ๋์ง ์ฝ๋๋ง ๋ณด๊ณ ์์ธกํ๊ธฐ์๋ ์ด๋ ค์์ ์ง์ ๋ก์ปฌ์ ์ฝ๋๋ฅผ ๋ฐ์์ ํ๋ํ๋ ์ฌ์ฉํด๋ณด๋ฉฐ ์ง๊ด์ ์ผ๋ก ์ฝ๋๋ฅผ ํ์ ์ ํด๋ณด์๋ค
react-hook-form์ ๋ด๋ถ ์ฝ๋์ด๋ค. (์ญ์ ๊นํ ์คํ 4๋ง๊ฐ์ ๋ฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ํผ ใ ใทใทํ ์ฝ๋์๊ณผ ๋์ด๋, ํ์ง๋ง ํ์ํ ๋ถ๋ถ ์์ฃผ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ๋ณด๋ฉด ์ด๋ ต์ง ์๋ค)
๋ด๊ฐ ๊ฐ์ ํ๋ ค๊ณ ํ ๋ถ๋ถ์ ์ฝ๋๋ฅผ ํ๋์ฉ ํ์ ํด๋ณด๊ณ ๋ก์ปฌ์์ ์ง์ ์ด ์ฝ๋๋ค์ ๋์์ ํ์ธํด๋ณด๋ฉฐ ์์ ์ ์งํํ์๋ค.
ํ๊ฐ์ง ์๋ฌธ์ด ๋๋ ์ฝ๋๋ ์ ์ฝ๋์ด๋ค. ๊ตณ์ด _focusError()๋ฅผ ๋ ๋ฒ ํธ์ถ์ ํ๊ณ ์๋ค. ์ด๊ฒ ์ค์์ธ์ง ์๋๋ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ๋๋ง ์ ์ด์ฃผ์ด๋ ์ ๋๋ก ๋์์ ํ๊ณ ์คํ๋ ค ์ ๋ ๊ฒ ๋ ๋ฒ ํธ์ถํจ์ผ๋ก์จ ์ํ๋ ๋๋ก ๋์์ด ์ํ๋์ง ์์๋ค.
<....ํด๊ฒฐํ ๋ถ๋ถ ์ถ๊ฐ์์ >