리액트가 뭐예요? 라고 질문이 들어오면 나는 답변을 제대로 할 수 있을까?
라는 의문점을 가지고 공부를 시작해봤다.
예전에 한번 훑었고, 개념 정리도 했으니 당연하게 답변 할 수 있을거라 했는데
그것은 오산.
스스로 부족함을 많이 느끼고 다시 개념 정리를 해보면서 확실하게 잡고 가려고 한다.
이전엔 위코드에서 진행됐던 리액트 세션 위주로 공부했다면,
지금은 실전 리액트 프로그래밍과, 벨로퍼트 영상을 병행하며 공부해보려고 한다.
&& 공식문서 필수 포함!!
하지만, 빌드를 직접 구축 해야하는 건 번거롭다는 단점이 있지만
리액트팀에서 CRA(Creat-react-app)를 만들어 제공하면서 단점을 보완시키고 있다.
리액트는 페이스북이 만든 UI 라이브러리이고 빌드를 직접 구축해야하는 단점이 있지만,
CRA로 단점을 보완시킬 수 있습니다.
우리는 API 통신이나,이벤트를 통해서 상태값을 변경시킨다
그래서 리액트가 변경된 상태값을 기반으로 UI를 자동으로 업데이트 된다.
순수함수란? 입력값이 같으면 출력값이 같다!
랜덤함수 or 날짜함수를 사용하게 되면 입력값이 같아도 출력값이 다르다.
render 함수 내부에서 외부상태를 변경하게 되면 다른 render 함수에 영향을 준다.
불변변수로 관리?
어떤 객체를 수정할때는 새로운 객체를 만들어서 값을 할당해준다는 말!
코드의 복잡도 ⬇️ 버그가 발생할 확률⬇️ 랜더링 성능 ⬆️⬆️
리액트는 UI를 자동으로 업데이트 시켜줍니다.
리액트를 사용하지 않으면 돔 업데이트를 직접 관리해서 간단하지않고 복잡도가 높아지게 됩니다.
반대로 리액트를 사용하게 되면 가상돔을 사용해서 UI를 빠르게 업데이트 시키고
불필요한 업데이트는 줄이면서 성능은 좋아지게 됩니다.