SlideShare a Scribd company logo
Hello React
從 0 ~ 1 建立第一個 app
Jacky.H.Hung
2016.04.02
hungjie19@gmail.com
Outline
• What is React ?
• React 起手式
• Sample demo
– Hello word
– Try 分割元件 (card 好友請求)
What is React ?
誰 在 用 ?不
出處 https://speakerdeck.com/coodoo/flux-in-action-shi-zhan-jing-yan-fen-xiang 引用簡報內容
React 三大主軸
Data
Flow
Just the
UI
Virtual
DOM
Just the UI
• 元件化架構
• MVC / MVVM 裡面的 View
– 但是更強大
• 封裝性
HTML
JS CSS
Virtual DOM
• $(“app”) 成本太高
• 虛擬文件模型
• 資料改變,畫面一律重繪
– 畫面保證正確。
• JSX 語法
React
Virtual DOM
DOM
畫面改變
Develops
Virtual DOM
(記憶體)
JQuery
把 div 文字變紅色
JSXHTML in JavaScript
HTML in JavaScript
JQ / Angular
HTML in JavaScript
React
Data Flow
• 單向資料流,由 Store 開始
• 所有的資料只存在 Store 內
– Store = Model
• Flux
– 開發架構 ( Pattern / 心法 )
• Flux 實作:
– Flux ( Facebook )
– Redux ( 作者已被 Facebook 納入公司 )
MVC
vs
Flux
Single source of truth
唯一的真相
小結
• React 負責 View
• Flux 負責 Model
• 單向資料流
• 一律重繪
Sample demo
React 起手式 .1
• 建立元件:
– React.createClass( Object );
• 將元件繪製到 HTML DOM:
– ReactDOM.render( component, getID );
• 從 attribute 上面拿資料
– props
• 元件的狀態
– state
React 起手式 1-1
React.createClass
建立 React 元件:
React.createClass( object );
React 起手式 1-2
React.createClass
元件繪製區
React 起手式 .1-3
React.createClass
JSX syntax
props 從 attributes 取得資料
{ JavaScript 表達式 }
React 起手式 .1-4
ReactDOM.render
component, getElement
元件畫好了怎麼放到 DOM 上面?
React 起手式 .1-5
完成第一個 React
AngularJS 比較
JSX 注意事項
HTML JSX
<br> <br />
class className
style=“color: red” (string) style={{color: “red”}} (object)
for htmlFor
onclick onClick
React 起手式 .2
Try 元件分割
CardRequest
CardContainer
CardOption
CardName
CardImage
END
reference
• https://facebook.github.io/react
• https://facebook.github.io/flux
• https://github.com/jarsbe/react-simple
• https://speakerdeck.com/coodoo/flux-in-action-shi-zhan-jing-yan-fen-xiang
• http://blog.littlelin.info/posts/2015/06/14/note-establishing-flux-app-from-scratch-1
• https://github.com/gaearon/react-makes-you-sad
• https://github.com/jarsbe/react-simple
•

More Related Content

PPTX
Angularjs
PDF
Angular js 入門介紹
PDF
Single-Page Application Design Principles 101
PPT
建站大业,实战ASP.NET 4
PPTX
Html5助跑街旁移动版
PPTX
基于Silverlight的RIA架构及百度应用
PDF
犀牛书第六版
PDF
關於 Javascript 非同步的那些事兒 公開版
Angularjs
Angular js 入門介紹
Single-Page Application Design Principles 101
建站大业,实战ASP.NET 4
Html5助跑街旁移动版
基于Silverlight的RIA架构及百度应用
犀牛书第六版
關於 Javascript 非同步的那些事兒 公開版

What's hot (8)

PDF
MVC MVVM MVVMC
PPT
Web端交互逻辑抽象的实践—运营h5页面和逻辑自动生成利器
PDF
Blazor Component 開發實戰
PDF
MobileWebAppFramework_V5_design
PPTX
Http callback bridge
PDF
Javascript template & react js 初探
PDF
Koubei banquet 27
PPT
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
MVC MVVM MVVMC
Web端交互逻辑抽象的实践—运营h5页面和逻辑自动生成利器
Blazor Component 開發實戰
MobileWebAppFramework_V5_design
Http callback bridge
Javascript template & react js 初探
Koubei banquet 27
Silverlight 2.0 完全新手學堂,基礎入門 10 大招
Ad

Similar to Hello reactJS 0~1 Bulid my first web app (20)

PDF
JSDC 2015 React-Native 實戰
PPTX
React基礎教學
PPTX
React js入門
PPTX
赶集团购开发总结4
PPTX
【项目分享】赶集移动Web App开发总结
PDF
Real World ASP.NET MVC
PDF
D2-ETao-show
PDF
W3CTech美团react专场-Thinking in React
PPTX
移动Web开发框架jqm探讨
PPTX
React js
PPT
Html5
PPTX
实时Web的前世今生未来
PPTX
一步一步开发Html5 mobile apps
PPTX
twMVC#31網站上線了然後呢
PPTX
react native by letv
PPTX
行動技術開發概論
PDF
Angular js twmvc#17
PDF
Jswebapps
PPTX
Study4 love.2016.2.20.ionic
PDF
Javascript primer plus
JSDC 2015 React-Native 實戰
React基礎教學
React js入門
赶集团购开发总结4
【项目分享】赶集移动Web App开发总结
Real World ASP.NET MVC
D2-ETao-show
W3CTech美团react专场-Thinking in React
移动Web开发框架jqm探讨
React js
Html5
实时Web的前世今生未来
一步一步开发Html5 mobile apps
twMVC#31網站上線了然後呢
react native by letv
行動技術開發概論
Angular js twmvc#17
Jswebapps
Study4 love.2016.2.20.ionic
Javascript primer plus
Ad

Hello reactJS 0~1 Bulid my first web app