====== React ====== * description : React 관련 내용 기술 * author : eleven * email : jskim@repia.com * lastupdate : 2020-08-18 ===== Intro ===== React는 사용자 인터페이스를 구축하기 위한 선언적이고 효율적이며 유연한 JavaScript 라이브러리입니다. \\ “컴포넌트”라고 불리는 작고 고립된 코드의 파편을 이용하여 복잡한 UI를 구성하도록 돕습니다. \\ by - https://ko.reactjs.org/tutorial/tutorial.html * Component 단위의 작성 * JSX (JavaScript + XML) * Virtual DOM * [[https://velog.io/@youthfulhps/React-React%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0|WHY React?]] \\ * https://trends.builtwith.com/javascript/React * 주요 적용 사이트: 에어비앤비, 인스타그램, 페이스북, 넷플릭스, 전자정부프레임워크 * 커뮤니티가 거대함;-) * ReaceJs를 기반으로 하는 프레임워크도 있음 (안정성, 거대함) * 계속 확장하면서 한계를 뛰어 넘으려고 노력함 \\ ====JSX==== * JSX [JavaScript XML] * 리액트를 위해서 개발된 자바스크립트 확장 문법. * 자바스크립트 코드 내부에 HTML 태그 형태로 컴포넌트를 만들수 있다. * 단순하게 태그를 만드는 기능 이외에도 태그 내부에 표현식을 삽입해서 출력하는 기능도 제공한다. 바벨 (babel) : JSX 코드를 읽고 일반적인 자바스크립트 문법으로 변환해주는 라이브러리. 자바스크립트 코드 내부에 HTML 코드를 사용할 수 있다. \\ const element =

Hello, world!

; const name = 'eleven'; const element =

Hello, {name}

; // 중괄호 안에서 변수 또는 함수를 사용할 수 있다.
\\ >이클립스에서 React 시작하기 // react. // react-dom. 화면출력을 위해 필요. // babel. es6언어를 지원해주는 라이브러리 필요. \\ >[[wiki:javascript:react:SpringBoot+React|SpringBoot + React 연동하기]] ===== Case Study ===== ===== 강의 ===== * [[https://nomadcoders.co/react-for-beginners|ReactJS로 영화 웹 서비스 만들기]] ===== Tip ===== [[https://babeljs.io/|Babel Compiler]]\\ [[https://codepen.io/pen?&editable=true&editors=0010|Codepen]] ===== Troubleshooting ===== ===== Ref ===== [[https://velog.io/@jkzombie/React-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0Eclipse|Recat 활용하기(Eclipse)]] \\ ===== Terms ===== * Component [컴포넌트] * 리액트에서 화면에 출력되는 요소를 의미한다. - 루트 컴포넌트 [Root Component] : 가장 최상위에 배치하는 컴포넌트 - 클래스 컴포넌트 [Class Component] : 사용자가 직접 클래스로 만드는 컴포넌트 - 함수 컴포넌트 [Functional Component ] : 사용자가 직접 함수로 만드는 컴포넌트 \\ * Container [컨테이너] : 컴포넌트를 출력할 상자 {{tag> eleven react JSX 오션 주레피}}