라벨이 K Benny CC인 게시물 표시

01.3 - React 프로젝트 시작하기

이미지
React.js 01.3. React 프로젝트 시작하기 01.3.1 create-react-app을 이용한 프로젝트 생성 프로젝트 생성 $ create-react-app [ PROJECT_NAME ] 프로젝트 실행 $ yarn start http://localhost:3000/ 에서 확인을 할 수 있다. 01.3.2 CSS Module 및 Sass 적용 프로젝트 생성 후 CSS Module 및 Sass 적용을 한다. $ cd [ PROJECT_NAME ] $ yarn eject $ yarn add sass-loader node-sass classnames ※ src/index.css 파일을 먼저 삭제 한다. webpack 설정 파일 수정 // config/webpack.config.js 파일 // sass-loader 추가 // loader: require.resolve('css-loader'), 이 있는 부분에 추가 { loader : require.resolve( 'css-loader' ), options : cssOptions, }, { ... }, { loader : require.resolve( 'sass-loader' ), options : { includePaths : [paths.styles] }, }, path.js 파일 수정 // config/path.js 파일 ... publicUrl : getPublicUrl(resolveApp( 'package.json' )), servedPath : getServedPath(resolveApp( 'package.json' )), // style 적용 styl

01.1/01.2 - React JS 특징 및 설치환경

이미지
React.js 01.1. 리액트의 특징 리액트는 자바스크립트 라이브러리로 유저 인터페이스를 만드는데 사용합니다. 구조가 MVC, MVW 등인 프레임워크와 달리, 오직 V(View, 뷰)만 신경 쓰는 라이브러리 입니다. 01.1.1. 컴포넌트(Component) 리액트 프로젝트에서 특정 부분이 어떻게 생길지 정하는 선언체가 있는데, 이를 컴포넌트(Component) 라고 합니다. 컴포넌트는 다른 프레임워크에서 유저 인터페이스를 다룰 때 사용하는 템플릿과는 다른 개념 으로 재사용이 가능한 API로 수많은 기능을 내장 하고 있다. 컴포넌트 하나에서 해당 컴포넌트의 생김새와 작동 방식을 정의 한다. ※ 컴포넌트는 최초로 실행한 '초기 렌더링'과 컴포넌트의 데이터 변경으로 다시 실행되는 '리렌더링' 개념을 이해해야한다. 01.1.1.1 초기 렌더링 - render() {...} 리액트의 초기 렌더링 함수로 컴포넌트의 외형을 정의하는 역할을 한다. html 형식의 문자열을 반환하지 않고, 뷰가 어떻게 생겼고 어떻게 작동하는지 정보를 지닌 객체를 반환한다. 렌더링 작업이 끝나면 지니고 있는 정보를 사용하여 HTML 마크업(markup)을 만들고, 이를 우리가 정하는 실제 페이지의 DOM 요소 안에 주입한다. 01.1.1.2 리렌더링 - render() {...} 업데이트의 과정으로 컴포넌트의 데이터에 변화가 있을 경우 새로운 요소로 대체한다. 이 과정 또한 render() 함수가 처리를 한다. 초기 렌더링 이후 데이터가 변경될 경우 새로운 데이터를 가지고 render() 함수를 다시 호출한다. 하지만 render 함수가 반환하는 결과를 DOM으로 바로 반영하지 않고, 이전 render 함수가 만들었던 컴포넌트 정보와 현재 render 함수가 만든 컴포넌트 정보를 비교한다. 자바스크립트를 사용하여 두 가지 뷰를 비교한 후 둘의 차이를 알아내 DOM 트리를 업데이트한다. 결국 방식 자체는 루