Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MediaQuery
- owlcarousel
- slickslider
- vscode git clone
- 아이콘사용법
- googleicon
- 정적객체
- 글자들여쓰기
- 플러그인
- 그누보드반응형
- maxwidth
- 의존성문제
- git lab clone
- legacy-peer
- package.json
- node 오류
- 동적객체
- 이미지반응형
- Git clone
- npm start
- XEIcon
- fontawesome
- 웹아이콘
- react npm install
- 단어단위로떨어지기
- window 정책변경
- npm install
- minwidth
- node설치
- npm install 문제
Archives
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
🟦 [React] trim(), 기존 useState에 배열 추가하기 2 본문
728x90
✔ 동적으로 생긴 컴포넌트의 좋아요 버튼 동작하게 하기
🚫오류🚫

코드 👇
import { useState, useEffect } from 'react'
import './App.css'
function App() {
let [구이름, 구이름변경] = useState(['강남구', '송파구', '서초구']);
let [like, setLike] = useState([0, 0, 3]);
let [입력값, 입력값변경] = useState('');
useEffect(() => {
console.log(like);
}, [like])
// 행 추가 함수
const btnAdd = () => {
if (입력값.trim() === '') {
return; // 입력값이 비어있을 때는 아무 것도 추가하지 않음
}
const 구이름추가 = [...구이름, 입력값]; // 기존 구이름 배열에 새 값 추가
구이름변경(구이름추가); // 상태 업데이트하여 새로운 배열로 변경
const like추가 = [...like, 0]; // 기존 like 배열에 새 값 추가 ✅
setLike(like추가); // 상태 업데이트하여 새로운 배열로 변경 ✅
입력값변경(''); // 입력값 초기화
};
return (
<>
<div>
{구이름.map((a, index) =>
<Div key={index}
index={index}
구이름={구이름}
like={like[index]}
setLike={setLike}
/>
)}
</div>
<input
type="text"
value={입력값}
onChange={(e) => 입력값변경(e.target.value)} // 입력값 상태 업데이트
/>
<button onClick={btnAdd}>행 추가</button>
</>
)
}
function Div({ index, 구이름, like, setLike }){
const likeCount = (e) => {
e.stopPropagation();
setLike((prevLikes) => {
const updateLikes = [...prevLikes];
updateLikes[index] = updateLikes[index] + 1;
return updateLikes;
})
};
return(
<>
<div style={{ marginTop: '10px' }} onClick={() => { console.log(5); }}>
<span>{구이름[index]}</span>
<button onClick={likeCount}>💙 <span>{like}</span></button>
</div>
</>
)
}
export default App;
결과 👇

처음 에러를 봤을 땐 막막 했는데 차근차근 생각하고 풀어가니까 별거 아니였다...!!!!!

🟦 [React] .trim(), 기존 useState에 배열 추가하기
✔ input에 작성하고 '행 추가' 버튼을 누르면 행이 추가 되게 하라!-> btnAdd 함수가 구이름 배열에 새로운 값(사용자가 입력한 값)을 추가하고, 그에 따라 Div가 갱신되도록 해야 함 코드 👇import { u
dazzle-bini.tistory.com
728x90
'개발 > 🟦 React' 카테고리의 다른 글
| 🟦 [React] useEffect 개념 잡기 (0) | 2025.03.09 |
|---|---|
| 🟦 [React] useRef 개념 잡기 (0) | 2025.03.09 |
| 🟦 [React] trim(), 기존 useState에 배열 추가하기 (2) | 2025.01.31 |
| 🟦 [React] input, useState는 비동기 처리, useEffect는 동기적 처리 (0) | 2025.01.24 |
| [문법] useEffect (2) | 2025.01.20 |
Comments
