나의 코드 샘플
const [dataList, setDataList] = useState<any[]>();
...
const data = await getData(id);
setDataList(preList => {
const tmpList = [ ...preList ];
tmpList[i] = data;
return tmpList;
});
- 이것으로 된다고 착각했었으나, 진짜 동기식으로 처리 되는 것이 아니라, setter를 연속 호출 했을 떄, 이전 값이 보존되는 수준의 처리였던 것이다.
- 진짜 코드 흐름 내에서 동기식으로 처리하려면 useEffect에 defs 및 기타 추가 조건을 거는 수 밖에 없지 않나 싶다.