๋ฐ์ํ
๋ฆฌ์กํธ๋ก CRUD๋ฅผ ๊ตฌํํ๋ ์ค์, ์ ์ ๊ฐ ๋น์นธ์ ์ ๋ ฅํ๋ฉด ์ ๋ ฅ์ด ๋์ง ์๋๋ก ํ๋ ์ฝ๋ ์ ๋๋ค.
๋ถ๋ชจ ํ์ผ์ธ App.js์์๋ Create์ ๋ํ handler๋ฅผ ์์ ํ์ผ์๊ฒ props๋ก ์ ๋ฌํด์ค๋๋ค.
const addGoalHandler = (enteredText) => {
setCourseGoals((prevGoals) => {
const updatedGoals = [...prevGoals];
updatedGoals.unshift({ text: enteredText, id: Math.random().toString() });
return updatedGoals;
});
};
<CourseInput onAddGoal={addGoalHandler} />
๊ทธ๋ฆฌ๊ณ ์์์์๋ ๊ทธ props๋ฅผ ๋ฐ์์ submit์ ํ๊ธฐ ์ ์, ํ์ฌ ๊ฐ์ ๊ธธ์ด๊ฐ 0์ด๋ฉด ๊ทธ๋ฅ return ์ ํด์ค๋๋ค.
const CourseInput = (props) => {
const [enteredValue, setEnteredValue] = useState("");
const formSubmitHandler = (event) => {
event.preventDefault();
if (enteredValue.trim().length === 0) {
return;
}
props.onAddGoal(enteredValue);
};
return () ...
}
์ฌ๊ธฐ์ trim์ ์ ์ ๊ฐ ๊ณผ๋ํ๊ฒ ๋น์นธ์ ์ ๋ ฅํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์์ฑํ์์ต๋๋ค.
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
๋ฐ์ํ