본문 바로가기
반응형

상태 업데이트2

[React]상태관리는 불변성이 아니라 메모리 참조랑 관련있는 거임 React에서 상태 업데이트를 감지하는 문제는 실제로 메모리 참조와 관련이 있습니다. "불변성"이라는 용어는 이러한 참조 기반 감지 메커니즘을 효과적으로 활용하기 위해 상태를 관리하는 방법론에 더 가깝습니다. 메모리 참조의 중요성 React는 상태의 메모리 참조가 변경되었는지를 기반으로 상태가 변경되었는지를 판단합니다. 즉, 상태 값, 객체나 배열의 메모리 주소가 변경되면, React는 새로운 상태로 간주하고 컴포넌트를 재렌더링합니다. .push 같은 메서드를 사용하여 배열을 수정할 경우, 배열의 메모리 주소(참조)는 변경되지 않습니다. 따라서 React는 상태가 변경되었다고 인식하지 못합니다. 반면, spread 연산자 (...)를 사용하여 새로운 배열을 생성하면, 새로운 메모리 주소를 가진 객체가 생.. 2024. 1. 9.
[React]상태 변경 헷갈리는 비동기 처리 종결 리엑트에서 setState는 호출될 때(코드에서 읽힐 때) 바로 state를 변경하지 않음. 모든 setState를 특정 시점에서 한번에 처리하도록 큐에 저장시켜 놈. 특정 시점에서 큐에 저장된 모든 setState를 실행시킴. setState는 호출 시점에서 state를 가지고 업데이트하기 때문에 같은 state를 업데이트 시키는 setState는 마지막만 의미가 있음. 이걸 일괄 처리, batch라고 함. ex) const [state, setState] = useState(0); setState(state + 1); setState(state + 1); setState(state + 1); //result: state = 1 그런데 setState( prev => prev + 1) 이런 식으로 함수.. 2023. 12. 23.
반응형