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
- 단어단위로떨어지기
- vscode git clone
- 동적객체
- 플러그인
- package.json
- 글자들여쓰기
- slickslider
- window 정책변경
- fontawesome
- MediaQuery
- node 오류
- 의존성문제
- Git clone
- git lab clone
- 정적객체
- 그누보드반응형
- 이미지반응형
- XEIcon
- 아이콘사용법
- maxwidth
- npm start
- legacy-peer
- googleicon
- 웹아이콘
- npm install
- owlcarousel
- node설치
- npm install 문제
- minwidth
- react npm install
Archives
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
🟦 [React] trim(), 기존 useState에 배열 추가하기 본문
728x90
✔ input에 작성하고 '행 추가' 버튼을 누르면 행이 추가 되게 하라!
-> btnAdd 함수가 구이름 배열에 새로운 값(사용자가 입력한 값)을 추가하고, 그에 따라 Div가 갱신되도록 해야 함
코드 👇
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 구이름추가 = [...구이름, 입력값]; // 기존 구이름 배열에 새 값 추가
구이름변경(구이름추가); // 상태 업데이트하여 새로운 배열로 변경
입력값변경(''); // 입력값 초기화
};
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;
결과 👇

근데 이제 하트를 누르면 작동하는 동작은 아직 손을 못봤다!!!
일단 1차 목표는 이루었다!
다음 글에서 .. ㅎㅐ결 해보도록..


🟦 [React] trim(), 기존 useState에 배열 추가하기 2
✔ 동적으로 생긴 컴포넌트의 좋아요 버튼 동작하게 하기 🚫오류🚫 코드 👇import { useState, useEffect } from 'react'import './App.css'function App() { let [구이름, 구이름변경] = useState(['강남구', '송파구',
dazzle-bini.tistory.com
728x90
'개발 > 🟦 React' 카테고리의 다른 글
| 🟦 [React] useRef 개념 잡기 (0) | 2025.03.09 |
|---|---|
| 🟦 [React] trim(), 기존 useState에 배열 추가하기 2 (1) | 2025.01.31 |
| 🟦 [React] input, useState는 비동기 처리, useEffect는 동기적 처리 (0) | 2025.01.24 |
| [문법] useEffect (2) | 2025.01.20 |
| [문법] .map(), 컴포넌트, props 사용하여 각 동작 제어하기 (3) | 2025.01.17 |
Comments
