RSS DEV 커뮤니티

리액트 JS에서 setState가 지연되는 이유

리액트의 setState는 성능 최적화를 위해 업데이트를 일괄 처리하는 데로 지연될 수 있습니다. 리액트는 이벤트 핸들러 내부에서 상태 업데이트를 큐에 넣고, 함께 처리한 후에 새로운 상태로 다시 렌더링합니다. 이러한 일괄 처리는 불필요한 다시 렌더링을 최소화하여 애플리케이션 성능을 개선합니다. setState가 지연되는 것처럼 보이지만, 리액트의 전략적인 성능 기능입니다. setState를 호출한 후 같은 실행 블록에서 즉시 업데이트된 상태 값을 액세스할 수 없습니다. 즉시 업데이트된 값을 필요로 하면, 상태에 의존하지 않고 수동으로 계산하세요. 이전 상태에 의존하는 상태의 경우에는 이전 상태를 사용하는 함수형 업데이트를 추천합니다. 실제 상태는 현재 실행이 완료된 후에 비동기적으로 업데이트됩니다. 새로운 상태로 다시 렌더링된 후에 상태 변경에 반응하려면 useEffect를 사용하세요. 리액트의 상태 처리를 이해하면 코드의 예측 가능성과 효율성을 높일 수 있습니다.
dev.to
Why setState is delayed in React JS
Create attached notes ...