본문 바로가기

열정가득한 개발자의 이야기/한땀 한땀 공부 내용 TIL

React 기본 공부

리액트 컴포넌트에서 xml형식의 값을 반환할 수 있다 -> jsx라고 부름

리액트란 ?
메타 (구 페이스북)에서 개발한 라이브러리,
나온 배경 :  뷰에서 변경이 일어나면 그 부분을 찾아서 변경해야하는데, 이 과정이 복잡함 -> 기존 뷰를 삭제하고 새로운 뷰를 
만들어 내는 것을 고안
그러면 계속적으로 처음부터 렌더링을 해줘야하는 것인가? 그러면 속도가 느린거 아닌가? 부하도 올 수 있는거 아닌가?
이를 보완하기 위해 모든 부분을 처음부터 리 렌더링하는 것이 아닌 기존 뷰와 새로운 데이터가 들어있는 뷰를 비교하여, 차이점이 있는
곳의 DOM트리를 업데이트 하는 것. -> 새로운 dom트리 = Virtual DOM

--> 오직 뷰만 신경쓰는 라이브러리가 나옴_ 리액트
렌더링이란  사용자 화면에 뷰를 보여주는 것

composition -> component + component, 컴포넌트들의 조합 
합성이라고 생각하면됨
ex)comtainment

parent에서 child를 가지고 있으면, parent가 진행될 때, child도 리렌더링됨 -> 비효율적임
이를 막고자 React.memo를 사용함
그러나 이는 또한 children prop을 활용할 수 있음
prop은 단방향이므로 부모에서 자식으로 흐름, 읽기 전용이므로 자식 컴포넌트에서 변경 불가