리액트가 state 업데이트를 즉각적으로 해주지 않기 때문에 마지막 업데이트가 최신 state 값에 적용되지 않을 수 있다.
안 좋은 코드
import { useState } from "react";
function test () {
const [data, setData] = useState([]);
function NewData(newData) {
setData(data.concat(newData));
}
}
좋은 코드
: 새 값을 직접 전달하는 것보다 함수를 전달하여 함수를 실행하게 만들자.
import { useState } from "react";
function test () {
const [data, setData] = useState([]);
function NewData(newData) {
setData((prevData)=> {
return prevData.concat(newData);
})
}
}