josep***
2020-11-15

이 책에 대해 간단히 설명하자면 자바스크립트 문법부터 리액트 전체를 들여다보는 책이라고 할 수 있습니다.
책 구성은 다음과 같습니다.
챕터 1. '리액트 소개'에서는 리액트와 이 책에 대한 소개를 하고 있습니다.
챕터 2. '최신 자바스크립트'에서는 ES6에서 변화된 자바스크립트 문법을 소개하고 있습니다. 리액트가 자바스크립트로 만들어진 라이브러리다 보니 자바스크립트를 얼마나 잘 사용햐느냐에 따라 성능이 달라지고 코드가 달라질 수 있는 만큼 이미 ES6 문법을 공부하신 분이 아니라면 반드시 읽어봐야 할 부분이라고 생각이 듭니다.
개인적으로 자바스크립트를 이용한 작업을 많이 해왔고 최근에는 모든 백엔드 작업을 Node.js로 하다보니 이 챕터를 가장 재미있게 본 것 같습니다.
챕터 3. '자바스크립트를 활용한 함수형 프로그래밍'에서는 리액트의 특성보다는 함수형 프로그래밍에 대해 설명하고 그 특성에 대해 설명하고 있습니다.
챕터 4. '순수 리액트'에서 본격적인 리액트에 대한 설명이 시작됩니다. 그리고 저처럼 그동안 자바스크립트와 html로만 페이지를 구성해온 분들은 혼란이 시작될 수 있습니다. 특히 설명을 읽지 않고 코드만 보면 굳이 이걸 왜? 라는 의문이 들 수도 있습니다만 리액트 전체에서 기초가 되는 부분이고 이 챕터를 이해하지 못하고 넘어가면 뒤에 나오는 내용과 코드에 대한 이해도 어려워질 수 있는 만큼 중요한 챕터였습니다.
챕터 5. 'JSX를 사용하는 리액트'에서는 챕터 4에서 혼란스러웠던 머리를 다시 잡아올 수 있게 해주는 JSX에 대해 설명하고 있습니다. 개인적으로 챕터 4에서 굳이 익숙하지도 않은 이런 문법까지 배워서 써먹을 일이 있을까 라는 생각이 들었습니다만 챕터 5를 보면서 이정도면 배워둘만 하겠다 싶었을 정도로 우리에게 익숙한 HTML 구조를 사용할 수 있게 해주는 영역입니다.
챕터 6. '프로퍼티, 상태, 컴포넌트 트리'에서는 제목 그대로 프로퍼티와 상태, 컴포넌트 트리에 대해 설명하면서 데이터의 흐름을 설명하고 있습니다.
챕터 7. '컴포넌트 개선하기'에서는 컴포넌트의 생애주기와 개선을 위한 고차 컴포넌트 그리고 플럭스를 설명하고 있습니다.
챕터 8. '리덕스'에서는 상태를 관리할 수 있는 플럭스와 비슷한 라이브러리 중 최고라고 하는 리덕스에 대해 설명하고 기본적인 사용법을 이야기 하고 있습니다.
챕터 9. '리액트 리덕스'에서는 리액트에서 리덕스를 이용하여 어떤 식으로 상태를 관리하고 있는지를 알려주고 있습니다.
챕터 10. '테스팅'에서는 제목 그대로 테스트를 이야기 하고 있습니다. ESLint를 사용하는 방법부터 시작해서 TDD까지 설명하고 있습니다. 개인적으로 TDD를 도입해보지는 않았지만 도입 검토를 했을 때 새로운 방법론이기 때문에 약간의 개발 지연을 감당할 수 있다면 제품의 퀄리티를 향상시키는데는 많은 도움이 되는 방법론이고 그런 만큼 이를 리액트에 잘 적용시킬 수 있다면 리액트가 고객에게 직접 노출되는 영역에 대한 라이브러리인 만큼 훨씬 큰 효과를 가져올 수 있지 않나 싶습니다.
챕터 11.. '리액트 라우터'에서는 경로에 대해 라우팅 설정하는 방법을 이야기 하고 있습니다. 사이트의 규모가 커질수록 파일이 다양해질 수 밖에 없고 그런 만큼 라우팅의 필요성이 커질 수 밖에 없는데요 개발을 처음 배우시는 분들은 이런게 왜 필요한가 하실 수 있지만 토이 프로젝트라도 페이지가 다양하게 있는 프로젝트를 해보신다면 반드시 필요한 영역이라는 생각이 드실 수 있습니다.
챕터 12. '리액트와 서버'에서는 리액트가 서버와 통신하는 방법을 설명합니다. 이미 백엔드 서비스를 해보신 분들이라면 어렵지 않다고 생각하실 수 있겠지만 요즘 서버와의 통신이 없이 프론트엔드에서만 구동되는 사이트가 거의 전무하다시피 한 세상이기 때문에 어떤 면에서는 이 책에서 가장 중요한 책이 아닌가 싶습니다.
이 책은 리액트에 대해서는 처음부터 설명을 하고 있습니다만 자바스크립트는 ES6 문법부터 설명이 들어갑니다. 자바스크립트 교재가 아니면서도 자바스크립트의 라이브러리르 설명하는 책인 만큼 자바스크립트에 대한 이해가 없다면 먼저 자바스크립트를 배운 후에 이 책을 보시는 것을 추천 드립니다.
그러나 이미 자바스크립트는 어렵지 않게 다루신다면 굳이 ES6 문법에 대해 모르시더라도 ES6 문법과 리액트를 동시에 배울 수 있는 기회가 될 수 있습니다.