순수함수는 계산만 수행하고 그 이상은 수행하지 않는다. 코드를 더 쉽게 이해하고 디버그할 수 있으며, React가 컴포넌트와 훅을 자동으로 올바르게 최적화 할 수 있다.

음.. 그렇다면 왜 순수함수가 중요할까요?

React를 만드는 핵심 개념중 하나는 순수성이다. (컴포넌트를 만들 때 순수함수로 만들어야 합니다.)

render가 순수함을 유지한다면, React는 사용자에게 가장 중요한 업데이트의 우선순위를 정하는 방법을 이해할 수 있다고 한다. 이를 렌더링 순수성 이라고 한다. 컴포넌트는 렌더링에 부작용이 없기 때문에, React는 업데이터가 중요하지 않는 컴포넌트의 렌더링을 일시 중지하고, 나중에 필요할 때만 렌더링 할 수 있다.

React는 사용자에게 쾌적한 ux를 제공하기 위해 렌더링 로직을 여러번 실행할 수 있다. 여기에서 매번 렌더링된 내용이 바뀌게 되면 에기치 않는 버그가 발생하거나 사용자 경험이 저하되는 문제가 발생한다.

그렇다면 정확히 React는 어떻게 동작하는 것일까? 요?

React에게 무엇을 렌더링 할지 알려주면(코드를 작성하면) React가 사용자에게 가장 잘 표시하는 방법을 알아낸다고 한다. 이를 위해서 코드를 실행하는 몇가지 단계가 존재한다. (렌더링에서 실행되는 코드, 렌더링 외부에서 실행되는 코드)

Rendering : UI의 다음 버전이 어떻게 보일지 계산하는 것을 말한다.

렌더링 이후에 Effects( useEffect를 통한 다양한 부수효과들을 이야기 하는 것 같습 )가 모두 실행된다. 만약 실행도중 레이아웃에 영상을 미치는 경우, 해당 영향에 대해서 다시 계산 후 ui에 표시해준다. 이때는 최소한의 DOM업데이트를 한다.