SlideShare a Scribd company logo
1 of 72
Download to read offline
React.js
React.js 란?
React.js 란?
• javascript 라이브러리
• Facebook 에서 만듦
• MVC의 V에 초점을 맞춤
React.js 의 특징
React.js 의 특징
• Just UI
• Virtual DOM
• Data Flow
기본 사용
기본 사용
기본 사용
기본 사용
기본 사용
기본 사용
기본 사용
기본 사용
기본 사용
X
기본 사용
O
기본 사용
기본 사용
기본 사용
JSX
JSX
• Javascript + XML
• HTML문법으로 javascript object 를 생
성
• javascript 내부에 마크업 허용
JSX
JSX
–Pete Hunt
“Separating html and js is separation
of technologies, not concerns.”
state
state
• 내부에서 사용되는 데이터
• 변경 가능(Mutable)
• 동적인 UI를 만드는데에 사용됨
state
state
state
state
state
state
props
props
• 외부에서 넘겨주는 데이터
• 컴포넌트의 어트리뷰트로 넘김
• 변경 불가능한 데이터 (Immutable)
props
props
props
props
props
props
props
props.children
props.children
props.children
Virtual DOM
Virtual DOM
• 가상의 DOM을 만들어 관리
• 업데이트가 필요한 부분만 변경
• 성능관리를 자동으로 해줌
• 서버에서 DOM을 미리 랜더링
Virtual DOM
Virtual DOM
Virtual DOM
Virtual DOM
Virtual DOM
Virtual DOM
Lifecycle Methods
Lifecycle Methods -
Mount
getDefaultProps
componentWillMou
nt
getInitialState
render
componentDidMou
nt
Lifecycle Methods -
Mount
Lifecycle Methods -
Update
componentWillReceivePro
ps
componentWillUpdate
shouldComponentUpdate
render
componentDidUpdate
Lifecycle Methods -
Update
권장 사항
권장 사항
권장 사항
권장 사항
CSS 처리
CSS 처리
• React 에서 제공되는 Inline Style 사용
• Isomorphic CSS style loader
CSS 처리
CSS 처리
CSS 처리
CSS 처리
사용 사례
사용 사례
• 사이트 리스트 :
https://github.com/facebook/react/w
iki/Sites-Using-React
• 개발자 도구 :
https://github.com/facebook/react-
devtools
참고 URL
참고 URL
• 이 발표의 소스코드 : http://codepen.io/collection/DBadre/
• 한글 사이트 : http://reactkr.github.io/react/docs/getting-started.html
• 개념잡기 좋은 사이트: http://goo.gl/GeQke7
• wordpress가 php를 버리고 react.js를 선택한 이유 : http://goo.gl/MGXC9B
• browserify vs webpack :
http://blog.coderifleman.com/post/112564054684/browserify%EC%99%80-webpack
• react.js 와 webpack 으로 세팅하기 : https://goo.gl/ct8lBl
• airbnb react 적용 : http://goo.gl/MnA63A
• 머티리얼 UI : http://www.material-ui.com/
• react 사용 사이트 리스트 : https://github.com/facebook/react/wiki/Sites-Using-React
• 개발자도구 : https://github.com/facebook/react-devtools
• Isomorphic CSS style loader : https://github.com/kriasoft/isomorphic-style-loader
Q&A
THANK YOU

More Related Content

What's hot (20)

Vue js for beginner
Vue js for beginner Vue js for beginner
Vue js for beginner
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
React web development
React web developmentReact web development
React web development
 
An Introduction to Redux
An Introduction to ReduxAn Introduction to Redux
An Introduction to Redux
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
 
React js
React jsReact js
React js
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Reactjs
ReactjsReactjs
Reactjs
 
Understanding react hooks
Understanding react hooksUnderstanding react hooks
Understanding react hooks
 
React Js Simplified
React Js SimplifiedReact Js Simplified
React Js Simplified
 
React introduction
React introductionReact introduction
React introduction
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Reactjs
Reactjs Reactjs
Reactjs
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
React js
React jsReact js
React js
 
reactJS
reactJSreactJS
reactJS
 
Webpack Introduction
Webpack IntroductionWebpack Introduction
Webpack Introduction
 
React lecture
React lectureReact lecture
React lecture
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 

Viewers also liked

spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례Daehwan Lee
 
Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Wangeun Lee
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!우영 주
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님NAVER D2
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님NAVER D2
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Kim Hunmin
 

Viewers also liked (9)

spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례
 
Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계Spring integration을 통해_살펴본_메시징_세계
Spring integration을 통해_살펴본_메시징_세계
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!
 
역시 Redux
역시 Redux역시 Redux
역시 Redux
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 

Similar to React.js 세미나

ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기Taegon Kim
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기WebFrameworks
 
리액트 적용기
리액트 적용기리액트 적용기
리액트 적용기Hun Yong Song
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)DK Lee
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)Opennaru, inc.
 
Javascript 생태계
Javascript 생태계Javascript 생태계
Javascript 생태계Herren
 
Python codelab2
Python codelab2Python codelab2
Python codelab2건희 김
 
Web server
Web serverWeb server
Web serverHerren
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 
웹 프론트엔드 테스팅
웹 프론트엔드 테스팅웹 프론트엔드 테스팅
웹 프론트엔드 테스팅Eunsu Kim
 
RequireJS를 이용한 모듈관리.
RequireJS를 이용한 모듈관리.RequireJS를 이용한 모듈관리.
RequireJS를 이용한 모듈관리.Hyung Eun Jin
 
웹 표준의 미래- HTML5 (2006)
웹 표준의 미래- HTML5 (2006)웹 표준의 미래- HTML5 (2006)
웹 표준의 미래- HTML5 (2006)Channy Yun
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용정기 김
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)중선 곽
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
 
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관제관 이
 

Similar to React.js 세미나 (20)

ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기
 
리액트 적용기
리액트 적용기리액트 적용기
리액트 적용기
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
 
Javascript 생태계
Javascript 생태계Javascript 생태계
Javascript 생태계
 
Python codelab2
Python codelab2Python codelab2
Python codelab2
 
React js 1
React js   1React js   1
React js 1
 
Web server
Web serverWeb server
Web server
 
React
ReactReact
React
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
웹 프론트엔드 테스팅
웹 프론트엔드 테스팅웹 프론트엔드 테스팅
웹 프론트엔드 테스팅
 
RequireJS를 이용한 모듈관리.
RequireJS를 이용한 모듈관리.RequireJS를 이용한 모듈관리.
RequireJS를 이용한 모듈관리.
 
웹 표준의 미래- HTML5 (2006)
웹 표준의 미래- HTML5 (2006)웹 표준의 미래- HTML5 (2006)
웹 표준의 미래- HTML5 (2006)
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
 

React.js 세미나