들어가기 전에
여기까지 오시느냐고 고생 많으셨습니다. 리덕스라는 엄청난 도구에 대해서 공감하셨나요?
여러분들이 리덕스라는 도구를 알게된 것에 대해서 뿌듯함과 기쁨을 느끼셨으면 좋겠습니다.
마지막으로 앞으로 여러분이 관심을 가질만한 주제 몇가지를 소개해드리고 물러나겠습니다.
강의 듣기
들어가기 전에
여기까지 오시느냐고 고생 많으셨습니다. 리덕스라는 엄청난 도구에 대해서 공감하셨나요?
여러분들이 리덕스라는 도구를 알게된 것에 대해서 뿌듯함과 기쁨을 느끼셨으면 좋겠습니다.
마지막으로 앞으로 여러분이 관심을 가질만한 주제 몇가지를 소개해드리고 물러나겠습니다.
강의 듣기
React
리럭스는 리액트와 단짝 입니다. 리액트를 위해서 리덕스가 시작되었다고 할 수 있습니다.
물론 리덕스가 발전하는 과정에서 점차 리액트로부터 독립해서 오늘날 리덕스는 독립적인 상태 관리 저장소로 발전하고 있습니다.
리덕스를 익혔다면 리액트를 배워보는 것도 좋을 것 같고 vue.js나 angular.js 와 같은 도구를 이미 사용하고 계신다면
거기에 리덕스의 상태 관리 기능을 도입해 보셔도 좋을 것 같아요.
Redux Ecosystem
리덕스 또 다른 장점은 준수한 생태계입니다.
예를 들어서 reducer에 직접 우리가 콘솔 로그를 설치해서 로깅을 해봤습니다. 이것을 훨씬 세련되게 해주는 도구가 이미 있습니다.
이런 도구를 여러분이 설치하면 직접 구현할 때의 노력없이 그냥 이런 기능을 사용할 수 있습니다.
이런 일종의 플러그 인들을 리덕스 커뮤니티에서는 미들웨어라고 합니다.
Redux Ecosystem을 살펴보시면 여러 미들 웨어 를 비롯한 다양한 앱들을 볼수 있습니다.
immutability
불변이라고 하는 것, 영어로는 immutability 라고 하는 개념에 대해서도 좀 공부를 해보시면 좋을 것 같습니다.
reducer는 새로운 상태를 만드는 것 입니다. reducer가 새로운 상태를 만들 때는 이전의 상태인 원본을 직접 바꾸지 않고
새로운 복제본을 만들어서 복제본을 수정한 다음에 그것을 새로운 상태로 만들어야 됩니다.
각각의 상태를 이렇게 완전히 독립적으로 유지하면 얘기치 못한 변화로 상태 데이터가 변경되는 사고를 막을 수 있습니다.
또 각각의 상태가 독립적 이기 때문에 이 상태들을 버전 관리 하면
아주 쉽게 UNDO와 REDO, 시간여행, Hot module Reloading 과 같은 고급 작업을 쉽게 구현할 수 있습니다.
다만 데이터를 불변하게 유지하는 것은 쉽지 않은 일입니다.
제가 만든 수업중에 자바스크립트 불변함 수업을 참고하시거나 immutable-js 라이브러리를 이용해 보시면 도움될 것 같습니다.
수업을 마치며
이제 리덕스를 사용해 볼 때입니다.
공부만 하고 사용하지 않으면 우리가 갖고 있는 지식은 무기력한 지식이 됩니다.
만약에 막막함이 든다면 리덕스 전에 여러분들을 배웠던 걸로 돌아가서 중요한 도구 들을 이용해서
나의 프로젝트를 시작해 보십시오.
생각해보기
여러분은 어떤 프로젝트를 만들고 싶으신가요?
https://reactjs.org
https://redux.js.org
https://immutable-js.com