useEffect()

문제 상황 !
서버에서 data로 받아온 array안의 객체의 value가 수정했을 때 화면에서 바로 업데이트되도록 하고 싶었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const [data, setData] = useState([]);
const [saveAction, setSaveActiono] = useState(0);

useEffect(() => {
if (data.length) {
setData([
...data,
{
isOpen: "Y",
},
]);
}

// 데이터 요청
getAllList();
}, [saveAction]);
  • onSave 함수를 클릭하면 saveAction이 1씩 증가하도록해서 이 변화를 감지해서 업데이트 하도록 했는데 의미없는 saveAction 변수를 사용하므로 다른 방법 찾아보기!