๐ Nomad Coder ReactJS๋ก ์ํ ์น ์๋น์ค ๋ง๋ค๊ธฐ
๊ฐ์๋ ธํธ (2021 Updated ver.)
state๋ ์ ๋ ์ง์ ์ ์ผ๋ก ์์ ํ์ง ์๋๋ค. useState()๋ฅผ ์ด์ฉํด ์์ ํ๋ค.
import React from "react";
import { useState, useEffect } from "react";
function App() {
const [toDo, setToDo] = useState("");
const [toDos, setToDos] = useState("");
const onChange = (e) => setToDo(e.target.value);
const onSubmit = (e) => {
e.preventDefault();
if (toDo === "") {
return;
}
setToDos((curArry) => [toDo, ...curArry]); // ๋ฐฐ์ด์ ํ์ฌ state๊ฐ์ ์ถ๊ฐํด์ค
setToDo("");
};
console.log(toDos);
return (
<div>
<h1>TO DOS ({toDos.length})</h1>
<form onSubmit={onSubmit}>
<input
type="text"
placeholder="WRITE YOUR TO DO"
value={toDo}
onChange={onChange}
></input>
<button>add</button>
</form>
</div>
);
}
export default App;
toDos
Array์ ์๋ ๋ชจ๋ ๊ฐ์ ๊ฐ๊ฐ ํ๋์ ์ปดํฌ๋ํธ๋ก ์์ฑํ๊ธฐ
import React from "react";
import { useState, useEffect } from "react";
function App() {
const [toDo, setToDo] = useState("");
const [toDos, setToDos] = useState([]); // ์ฌ๊ธธ ๋ฐฐ์ด๋ก ์
๋ ฅํ์ง ์๊ณ ""๋ก ์
๋ ฅํด์ map์ ์ค๋ฅ๊ฐ ๋จ. ๋ฐฐ์ด๋ก ์ธ์์ ๋ชป ํด์..
const onChange = (e) => setToDo(e.target.value);
const onSubmit = (e) => {
e.preventDefault();
if (toDo === "") {
return;
}
setToDos((curArry) => [toDo, ...curArry]); // ๋ฐฐ์ด์ ํ์ฌ state๊ฐ์ ์ถ๊ฐํด์ค
setToDo("");
};
console.log(toDos);
return (
<div>
<h1>TO DOS ({toDos.length})</h1>
<form onSubmit={onSubmit}>
<input
type="text"
placeholder="WRITE YOUR TO DOs"
value={toDo}
onChange={onChange}
></input>
<button>add</button>
</form>
<hr />
<ul>
{toDos.map(
(
item,
index //map์ ํจ์
) => (
<li key={index}>{item}</li> //React์์ list์ key๊ฐ์ ์๊ตฌํจ
)
)}
</ul>
</div>
);
}
export default App;