[React] map() 사용방법 & 버튼 추가 삭제 방법
2022. 10. 7. 20:33ㆍReact
⚡️댓글 삭제 버튼
const Main = () => {
let [comment, setComment] = useState("");
let [btn, setBtn] = useState([]);
// 댓글 삭제 버튼 만들기
result (
<div className="comment-list">
{btn.map((item, index) => (
<div key={index}>
<span>yYy_Ds</span>
<span key={index}>{item}</span>
</div>
<div className="comment-delete">
<span
className="comment-list-delete"
onClick = {() => {
let copy = [...btn];
copy.splice(index, 1)
setBtn(copy)
}}>삭제</span>
</div>
)
- map((item, index) => ( )은 map()은 인자를 두개 까지 사용 할 수 있다
- item은 button이라는 변수에서 값을 가져오고
- index는 key 값이 별도로 없을 경우 index로 key값을 지정해준다
- 삭제버튼을 만들 경우 index를 사용하여 삭제하고 싶은 댓글을 지정하여 삭제가 가능하다
- onClick={() => { } 함수를 사용하여 button을 클릭 했을 때 input의 value을 comment에 추가하는 버튼입니다.
- btn state를 copy를 합니다.(array형태의 state 조작은 우선 copy해야 된다)
- copy 변수를 만들어 btn 값을 넣어주고
- copy 한거에 splice 해주고 index번호의 값을 한개 삭제합니다.
⚡️댓글 추가 버튼
const Main = () => {
let [comment, setComment] = useState("");
let [btn, setBrn] = useState([]);
// 댓글 추가 버튼 만들기
result (
<div className="comment-input-text">
<input
className="comment-input"
type="text"
placeholder="댓글 달기..."
onChange={(e) => {
setComment(e.target.value);
} />
<button
className="comment-button"
onClick={() => {
let copy = [...btn];
copy.unshift(comment);
setBtn(copy);
} >
게시
</button>
</div>
- onClick={() => { } 함수를 사용하여 button을 클릭 했을 때 input의 value을 comment에 추가하는 버튼입니다.
- copy 한거에 unshift(입력값) 해서 array 맨 앞에 자료추가하는 합니다.
- 그리고 state변경함수 사용했습니다.
'React' 카테고리의 다른 글
[React] useParams (0) | 2022.10.26 |
---|---|
[React] 로그인, 회원가입 API 통신 (0) | 2022.10.25 |
[React] 구조분해할당 (0) | 2022.10.21 |
[React] 함수로 hover 기능 구현 (0) | 2022.10.20 |
[React] Router Link navigate 사용 방법 (0) | 2022.10.09 |