๋ฐ์ํ
์ด ๊ธ์ udemy์ React ์๋ฒฝ ๊ฐ์ด๋ with Redux, Next.js, TypeScript ๊ฐ์ข๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
97. ๋ชจ๋ ์๊ฐ
- ์ฐ์ต ํ๋ก์ ํธ ์์
98. "์ฌ์ฉ์" ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ
- Technically, the React import is not required in all React projects as you learned. But you're never wrong with adding it.
import React from "react";
99. ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ "์นด๋" ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ
- ๋ ๊ฐ์ css ํด๋์ค๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ
import React from "react";
import classes from "./Card.module.css";
const Card = (props) => {
return (
<div className={`${classes.card} ${props.className}`}>{props.children}</div>
);
};
export default Card;
→ Card.module.css / ๋ ๋ค๋ฅธ ํ๋๋ props๋ฅผ ํตํด ์ ์ฌ์ ์ผ๋ก ์ธ๋ถ์์ ๋ค์ด์ค๋ ํด๋์ค
100. ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ "Button" ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ
- button component ์ถ๊ฐ
import React from "react";
import classes from "./Button.module.css";
const Button = (props) => {
return (
<button
className={classes.button}
type={props.type || "button"}
onclick={props.onclick}
>
{props.children}
</button>
);
};
export default Button;
→ props.type์ด ์ ์๋์ง ์์ผ๋ฉด ๋์์ผ๋ก button ์ด ์ฌ์ฉ๋๋ค.
→ handler ํจ์๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด props.onClick๋ฅผ ์ ๋ฌํ๋ค. ๊ผญ ์ด๋ฆ์ onClick์ผ๋ก ํ ํ์๋ ์์ง๋ง, ์ด button์ด ๋ด์ฅ๋ button ์ฒ๋ผ ์ฌ์ฉ๋๊ธธ ์ํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋์ผํ ์ด๋ฆ์ ์ฌ์ฉํ๋ค.
101. ์ฌ์ฉ์ ์ ๋ ฅ State ๊ด๋ฆฌํ๊ธฐ
- enteredUsername, enteredAge using useState
- usernameChangeHandler, ageChangeHandler
102. ๊ฒ์ฆ ์ถ๊ฐ ๋ฐ ๋ก์ง ์ฌ์ค์ ํ๊ธฐ
- ์ ๋ ฅ๋ ๋์ด๊ฐ์ ์ฌ์ค ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์์ด์ด๋ค. input์ ์ ๋ ฅ๋๋ ์ด๋ค ๊ฐ์ด๋ผ๋ ํญ์ ๋ฌธ์์ด๋ก ๋ฐํ๋๋ค. ์ด๊ฒ์ด js์ dom์ด ์๋ํ๋ ๋ฐฉ์์ด๋ค. ๋ฐ๋ผ์ ์ฌ๊ธฐ์ ์ ๋ ฅ๋๋ ๋์ด๊ฐ์ ์ซ์๊ฐ ์๋ ๋ฌธ์์ด์ด ๋๋ค.
if (+enteredAge < 1) {
return;
}
→ ์ผ๋ฐ์ ์ js ์์๋ '+' ๊ฐ ์์ด๋ ์๋ํ์ง๋ง, ์ข ๋ ์์ ํ๊ฒ ํ๊ธฐ ์ํด + ๊ธฐํธ๋ฅผ ๋ฃ์ด์ ์ ๋ ฅ๋ ๋์ด๊ฐ์ ์ซ์ํ์ผ๋ก ๋ฐ๊ฟ์ค๋ค!
103. ์ฌ์ฉ์ ๋ชฉ๋ก ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ
- userList component ์ถ๊ฐ
104. State๋ฅผ ํตํด ์ฌ์ฉ์ ๋ชฉ๋ก ๊ด๋ฆฌํ๊ธฐ
- App.js ์ userList state๋ฅผ ์์ฑ
const [usersList, setUsersList] = useState([]);
const addUserHandler = (userName, userAge) => {
setUsersList((prevUsersList) => {
return [
...prevUsersList,
{ name: userName, age: userAge, id: Math.random().toString() },
];
});
};
105. "ErrorModal" ์ปดํฌ๋ํธ ์ถ๊ฐํ๊ธฐ
- ErrorModal component ์ถ๊ฐ
106. ์ค๋ฅ State ๊ด๋ฆฌํ๊ธฐ
- error State ์ถ๊ฐ
const [error, setError] = useState();
const errorHandler = () => {
console.log("error!!");
setError(null);
};
๋ฐ์ํ