Untitled
๋๋ฏธ ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธํ๊ธฐ
์ด๋ฒ์๋ ๋ก๊ทธ์ธ์ฆ, ๊ฐ์ง๋ก๊ทธ์ธ์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ LoginForm์ submitํจ์๋ฅผ ๋ง๋ค์ด์ฃผ์ธ์
const onSubmitForm = useCallback(() => {
console.log(id, password);
setIsLoggedIn(true); //Props๋ก AppLayout์์ ๋ฐ์์ต๋๋ค.
}, [id, password]);
AppLayout.js๋ ๋ฐ๊ฟ์ค์ผ ๊ฒ ์ฃ ?
{isloggedIn ? <UserProfile /> : <LoginForm setIsLoggedIn={setIsLoggedIn}/>}๋ง์ฝ ๋ก๊ทธ์ธ์ด true๋ฉด ํ๋กํ, false๋ฉด ๋ก๊ทธ์ธ์ฐฝ์ ๋์ฐ๋ ํ๋ฉด์ ๋๋ค.
UserProfile.js ๋ง๋ค๊ธฐ
Ant-design์ Card๋ฅผ ์ด์ฉํด ์ ์ ํ๋กํ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
Card๋ ์ ๋ง ์ธ๋ชจ๊ฐ ๋ง์ผ๋ ํ๋ฒ ๊ตฌ๊ฒฝ๋ค๋ ์ค์ธ์
์, ๊ทธ๋ผ ์ด์ UserProfile ์ปดํฌ๋ํธ๋ฅผ ์์ฑํด๋ณผ๊น์
UserProfile ์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ
Card์ ๊ดํ ์์ํ ๋ด์ฉ์ ๋ค๋ฃฐ๊ฒ์ด ๋ง์์ ์์ ๊ฐ๋ฐ์๋ฌธ์๋ฅผ ๋ณด๋ฉด ์ดํดํ ์ ์์ต๋๋ค.
์ด์ ํ์์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด?

์ด์ ๊ฐ์ง๋ก๊ทธ์์ ๊ธฐ๋ฅ๋ ๊ตฌํํด๋ณผ๊ฒ์
๋ฌผ๋ก Applayout์์ Props๋ฅด ์ ๋ฌํด์ค์ผ ํ๋๊ฑธ ์์ผ๋ฉด ์๋ฉ๋๋ค.
์ด๋ฒ์๋ ํ๋กํ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํด๋ณผ๊น์?
ํ๋กํ ํ์ด์ง๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
๋ค์์ ๊ฐ๋จํ NicknameEditForm.js๋ถํฐ ๋ง๋ค์ด๋ณผ๊น์?
๋ค์์ ๋ณต์กํ ์๋ ์๋ ๋ฆฌ์คํธ์ ๋๋ค.
๊ฒฐ๊ณผ๋ฌผ์ ํ๋ฒ ๋ณผ๊น์?

๋ค์์๋ ์ปค์คํ ํ ์ ์ด์ฉํ ํ์๊ฐ์ ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ์ปดํฌ๋ํธ์ ๋๋ค.
ant-design์ด๊ธฐ ๋๋ฌธ์ ์์ธํ ์ธ๊ธ์ ์ํ๊ฒ ์ต๋๋ค.
๋ค์์ผ๋ก๋ input์ ์ํ๊ฐ์ ๊ด๋ฆฌํด์ค๊ฑด๋ฐ์
input์ด ๋ง๊ธฐ ๋๋ฌธ์ useState๋ฅผ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํด์ค์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ง๋ง ์ด๋ฐ์์ผ๋ก ๋ชจ๋ ์์ฑํ๋ ๊ฒ์ ๋นํจ์จ์ ์ ๋๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋๊ฐ์ง๊ฐ ์๋๋ฐ์
์ปค์คํ ํ ์ ๋ง๋ค์ด ์ฌ์ฉํ๊ธฐ
useState์์ฒด๋ก ํด๊ฒฐํ๊ธฐ
์ปค์คํ ํ ์ ๋จผ์ ๋ง๋ค์ด ๋ณผ๊น์?
ํ ์์์ change๋๋ ๊ฐ๋ค์ ์ํ๋ก ๋ฐ๊ฟ์ค๋ค valuedhk ๋ฐ๊พธ๋ ํจ์๋ฅผ ๋ด๋ณด๋ด๋ ํ์์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
๊ฐ๋จํด์ง์ฃ ?
๋ค์๋ฐฉ๋ฒ์ useState์ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ฒด๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ค ๊ฐ์ ์ค์ ํ๋ ํจ์๋ฅผ ๊ตฌํํด๋ณด๋ฉด
์ ๋๋ค ์ข์ ๋ฐฉ๋ฒ์ด๋ ํธํ ๋ฐฉ๋ฒ์ ์ฐ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์์ฑ๋ ์ ์ฒด ์ฝ๋๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
๊ธธ๊ธด ํ์ง๋ง ์์ฑ๋ณธ๋ ๋ณผ๊น์

Last updated
Was this helpful?
