PRGRM/JS 4

React memo를 반드시 사용해야 하는 이유

React memo는 부모요소가 다시 렌더링될때 요소의 입력 prop이 같은 경우, 함수가 다시 실행되는 것을 방지한다. 얼핏 보면 컴포넌트의 입력 prop이 같은데 출력이 다른 경우가 있을 것 같지만, 그런 경우가 있다면 그건 잘못된 설계다. React hook에서 렌더 부분은 state와 prop에 대해 순수해야만 한다. 그런데 state도 그대로, prop도 그대로인 상태에서 재렌더링을 했다고 해서 리턴값이 바뀌면, 그것은 hook이 순수함수여야 한다는 원칙을 어긴 것이다. 사용하지 않아야 할 수도 있는 단 한 가지 예외상황은, props에 대해 객체를 넘겨줄 때 뿐이다. (부모 요소에서 객체를 넘겨줄 경우, 객체가 변화할 시에 객체의 키-값만 바뀌고 객체 자체는 바뀌지 않는 경우가 있기 때문이다...

PRGRM/JS 2021.08.18

create-react-app npm start 오류 해결법

오류와 함께 이런 매뉴얼이 뜬다. 일단 매뉴얼대로 해보고, 안되는 경우에는 다음을 체크해보라. 프로젝트 폴더 상위 폴더들에 node_modules 폴더가 있지 않은가? (node_modules는 node_modules가 위치한 폴더 아래에 있는 모든 폴더에 영향을 준다. 그래서, 상위 폴더에도 node_modules가 있고 하위 폴더에도 node_modules가 있는 경우에 모듈들이 충돌을 일으킬 수 있다.)

PRGRM/JS 2021.08.18