7.2.6 getSnapshotBeforeUpdate 메서드
이것은 리액트 v16.3 이후 만든 메서드입니다. 이 메서드는 render에서 만들어진 결과물이 브라우저에 실제로 반영되기 직전에 호출됩니다. 이 메서드에서 반환하는 값은 componentDidUpdate에서 세 번째 파라미터인 snapshot 값으로 전달받을 수 있는데요. 주로 업데이트하기 직전의 값을 참고할 일이 있을 때 활용됩니다(예: 스크롤바 위치 유지).
getSnapshotBeforeUpdate(prevProps, prevState) { if(prevState.array != = this.state.array) { const { scrollTop, scrollHeight } = this.list return { scrollTop, scrollHeight }; }
}