map메서드를 활용한 li 반복
///App.js
import React, { Component } from "react";
import IterationSample from "./IterationSample";
class App extends Component {
render() {
return <IterationSample />;
}
}
export default App;
///IterationSample.js
import React from "react";
const IterationSample = () => {
//return (
// <ul>
// <li>눈사람</li>
// <li>얼음</li>
// <li>눈</li>
// <li>바람</li>
// </ul>
//);
const names = ["눈사람", "얼음", "눈", "바람"];
const nameList = names.map((name, index) => <li key={index}>{name}</li>);
return <ul>{nameList}</ul>;
};
export default IterationSample;
button 클릭시 input 값 추가
///IterationSample.js
import React, { useState } from "react";
const IterationSample = () => {
const [names, setNames] = useState([
{ id: 1, text: "눈사람" },
{ id: 2, text: "얼음" },
{ id: 3, text: "눈" },
{ id: 4, text: "바람" },
]);
const [inputText, setInputText] = useState("");
const [nextId, setNextId] = useState(5);
const onChange = (e) => setInputText(e.target.value);
const onClick = () => {
const nextNames = names.concat({
id: nextId,
text: inputText,
});
setNextId(nextId + 1);
setNames(nextNames);
setInputText("");
};
const nameList = names.map((name) => <li key={name.id}>{name.text}</li>);
return (
<>
<input value={inputText} onChange={onChange} />
<button onClick={onClick}>추가</button>
<ul>{nameList}</ul>;
</>
);
};
export default IterationSample;
'프론트엔드관련 책예제실습정리 > 리기술요약' 카테고리의 다른 글
08hooks/커스텀 hook만들기 (0) | 2021.06.22 |
---|---|
08hooks/useMemo,useCallback,useRef (0) | 2021.06.22 |
ref:DOM에 이름달기 (0) | 2021.06.11 |
이벤트핸들링2 (0) | 2021.06.04 |
이벤트핸들링1 (0) | 2021.06.04 |