실행화면

HTML 코드
<div id="root"></div>
JS코드
import React, { useState } from "https://cdn.skypack.dev/react@18";
import ReactDOM from "https://cdn.skypack.dev/react-dom@18";
const App = () => {
const [number, setNumber] = useState(0);
const [recordNums, setRecordNums] = useState([]);
const saveRecord = () => {
setNumber(0);
setRecordNums([...recordNums, number]);
};
return (
<div>
<div>숫자 : {number}</div>
{recordNums.length == 0 ? (
<div>기록 없음</div>
) : (
<>
<span>기록 : {JSON.stringify(recordNums)}</span> <h3>기록</h3>
<ul>
{recordNums.map((recordNum) => (
<li>{recordNum}</li>
))}
</ul>
<h3>기록(역순)</h3>
<ul>
{[...recordNums].reverse().map((recordNum) => (
<li>{recordNum}</li>
))}
</ul>
</>
)}
<div>
<button onClick={() => { setNumber(number + 1); }} >
증가
</button>
<button onClick={() => { setNumber(number - 1); }} >
감소
</button>
<button onClick={saveRecord}>
기록
</button>
</div>
</div>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
사용법
JSON.stringify(value, replacer, space);
기록 : {JSON.stringify(recordNums)}
부분에 JSON.stringify를 안쓰고 그냥 recordNums만 넣는다면
결과값은 기록 : 1-10 이런식으로 나와 구분이 되지않는다 (1,-1,0인지 1,-10인지 알수없게됨)