array로 state만들어서 따봉수에 전부 넣었습니다.
근데 onClick을 다 다르게 받아야하니 map이 돌때마다 i값이 달라지니
이 i 값을 함수의 인수로 넣어주면 될 거 같아서 코드를 아래처럼 짜보았는데
let [따봉수, 따봉수변경] = useState([1, 2, 3]);
function addLike(i) {
let new따봉수 = [...따봉수];
new따봉수[i] += 1;
따봉수변경(new따봉수);
}
{글제목.map((글제목, i) => {
return (
<div className='list'>
<h4>
{글제목}
<span onClick={addLike(i)}>👍</span> //<-여기서 addLike 함수가 i를 받도록 했습니다
{따봉수[i]}
</h4>
<p>7월 2일 발행</p>
</div>
);
})}
콘솔에 찍히는 에러는
react-dom.development.js:16317 Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.
이거만 여러개 나옵니다.
i를 왜 받을 수 없는건지 모르겠습니다