ํฐ์คํ ๋ฆฌ ๋ทฐ
React Hook Form ์ setValue ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ธฐ๊ฐ ์ค์
developer jungminji 2024. 11. 5. 02:09๋ง์ดํ์ด์ง ์์ ๊ธฐ๋ฅ์ ์งํ ์ค์ด๋ค. ๊ตฌํํด์ผ ํ ๊ฒ์ ๋๋ค์ ์์ ํ๊ธฐ์ด๋ค.
React Hook Form ์ ์ฌ์ฉํ๊ธฐ ์ ์๋ useState ๋ก ๋๋ค์ ์ํ๋ฅผ ๊ด๋ฆฌํ์๊ณ DB ์์ ์กฐํํ ์ ๋ณด๋ก setNickname() ํด์ฃผ๋ฉด ๋๋๋ฐ.. react hook form ์..? ์ด ์ฌํญ์ ๋์น๊ณ ์์ด์ ์์ ํ์ด์ง ๊ฐ๋ฉด DB ์์ ๊ฐ์ ธ์จ ์ ์ ์ ๋ณด๊ฐ ๋ณด์ด์ง ์๋๋ค. ๋ณดํต ์์ ํ์ด์ง ๊ฐ๋ฉด ์๋ ์ค์ ํด ๋์ ์ ๋ณด๊ฐ ๋จ๊ธฐ ๋ง๋ จ์ด๋.. ๋๋ ๊ธฐ์กด ์ ๋ณด๋ฅผ ํ์ํด ์ค ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค..!
์ด์
React Hook form ์ ์ฌ์ฉํ ๋ DB ์ ์๋ ๊ธฐ์กด ์ ๋ณด๋ฅผ ํ๋ฉด์ ์ด๋ป๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํ๋๊ฐ? ํ์ฌ๋ ์์ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ธฐ์กด์ ๋๋ค์์ด ๋ณด์ด์ง ์๋๋ค.
ํด๊ฒฐ
์ด๊ฒ์ ๊ฒ ์ฐพ์๋ณด๋.. setValue ๊ฐ ์์๋ค. ์๊ฐ๋ณด๋ค ์ฝ๊ฒ ์ฐพ์ ๐ฎ๐จ
const ProfileUpdate = ({ userId }: { userId: string }) => {
const {
register,
handleSubmit,
formState: { errors },
setValue,
} = useProfileForm();
.. ์๋ต
const { data: profileData, isLoading: isProfileLoading, isError: isProfileError } = useProfilesQuery(userId);
useEffect(() => {
if (profileData && profileData.profiles?.user_nickname) {
const userNickname = profileData.profiles.user_nickname;
setValue('nickname', userNickname); // nickname ์ด๊ธฐ๊ฐ ์ค์
setCount(userNickname.length);
}
}, [profileData, setValue]);
... ์๋ต
setValue(๋ณ์, ๊ฐ) ์ด๋ฐ์์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ฒฐ๊ณผ
๋ง์ดํ์ด์ง ๋ฉ์ธ์์ ์์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์์ ํ์ด์ง๋ก ์ด๋ํ ํ, '๋ฐ๋ฐ' ์ด๋ผ๋ DB ์์ ์กฐํ๋ ์ ์ ์ ๋ณด๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋์ด์๋ ๊ฒ์ ๋ณผ ์ ์๋ค!
์ฐธ๊ณ ์๋ฃ
https://react-hook-form.com/docs/useform/setvalue
'๐ฅ ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- Total
- Today
- Yesterday