[React] react-beautiful-dnd 빠르게 작동했을 시 에러 해결
·
coooding/React
워크플로우 관련 기능을 만들기 위해 react-beutiful-dnd를 사용하였다. onDragEnd 함수에서 목록에 대한 값들을 업데이트하는 setState들을 사용하였다. 일반적인 경우 매우 정상적으로 작동되지만, 빠르게 사용하였을 경우 key값이 중복되었다고 하며 에러가 발생하였다. 구글링을 통해 확인한 결과, useState가 비동기적으로 작동하기 때문에 발생하는 에러라는 것을 확인하였다. 해당 문제는 react18에 도입된 flushSync를 setState에 사용하니 해결되었다. 하지만 flushSync의 경우, 성능저하를 일으킬 수 있으므로 일반적인 상황에서는 추천하지 않고, 공식문서에서도 최후의 수단으로 사용하라고 나와있었다. 최선이 아닌 차선의 방법이였지만, 이미 왠만한 방법들은 다 시도..