페이지 이동 시 깜빡임 없이 부드러워 한 페이지 내에 있는 것처럼 보입니다.
실제로 index.js 내에서 요청 URL에 따라 route 하여 컴포넌트만 바꿔서 index.html에 렌더링하고,
각 컴포넌트의 this.props 또는 this.state 값이 바뀌면 리렌더링 되는 방식입니다.
컴포넌트 재사용성이 좋다고 합니다.
SPA 특성상 클라이언트 사이드 렌더링하고, 상태가 변경되는 일부 컴포넌트 데이터만 요청하기 때문에 서버 리소스 사용이 최소화되어 서버 부하가 적습니다.
리액트 단점
하나의 js 안에 컴포넌트와 스크립트가 공존해서 소스가 깔끔하기 어렵습니다.
리액트, 리덕스 소스 분석 시 컴포넌트를 타고 타고 들어가야 하니 소스 파악이 더 오래 걸립니다.
리액트 프로젝트에 함수형 컴포넌트, 클래스형 컴포넌트가 공존하는 경우 소스 파악 및 개선이 더 어려울 수 있습니다.
구글 검색 시 원하는 컴포넌트 활용 방법을 찾기까지 좀 더 오래 걸립니다.
리액트에 익숙한 개발자가 아닐 경우 개발 퍼포먼스가 하향됩니다.
리액트를 공부한 퍼블리셔가 아닐 경우 프론트 화면단이지만 맡기기 애매할 수 있습니다.
현재 상태를 유지한 컴포넌트 이동이 많은 경우, 리덕스로 전역변수 사용을 남발하게 될 수 있습니다.
Leave a comment