> 原文出處:http://www.ruanyifeng.com/blog/2015/03/react.html
> 作者: 阮一峰
現在最熱門的前端框架,毫無疑問是?[React](https://facebook.github.io/react/)?。
上周,基于 React 的?[React Native](http://facebook.github.io/react-native/)?發布,結果一天之內,就獲得了 5000 顆星,受矚目程度可見一斑。
React 起源于 Facebook 的內部項目,因為該公司對市場上所有?[JavaScript MVC 框架](http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html),都不滿意,就決定自己寫一套,用來架設?[Instagram](https://instagram.com/)?的網站。做出來以后,發現這套東西很好用,就在2013年5月[開源](http://facebook.github.io/react/blog/2013/06/05/why-react.html)了。

由于 React 的設計思想極其獨特,屬于革命性創新,性能出眾,代碼邏輯卻非常簡單。所以,越來越多的人開始關注和使用,認為它可能是將來 Web 開發的主流工具。
這個項目本身也越滾越大,從最早的UI引擎變成了一整套前后端通吃的 Web App 解決方案。衍生的 React Native 項目,目標更是宏偉,希望用寫 Web App 的方式去寫 Native App。如果能夠實現,整個互聯網行業都會被顛覆,因為同一組人只需要寫一次 UI ,就能同時運行在服務器、瀏覽器和手機(參見[《也許,DOM 不是答案》](http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html))。

既然 React 這么熱門,看上去充滿希望,當然應該好好學一下。從技術角度,可以滿足好奇心,提高技術水平;從職業角度,有利于求職和晉升,有利于參與潛力大的項目。但是,好的 React 教程卻不容易找到,這一方面因為這項技術太新,剛剛開始走紅,大家都沒有經驗,還在摸索之中;另一方面因為 React 本身還在不斷變動,API 一直在調整,至今沒發布1.0版。
[](https://github.com/ruanyf/react-demos)
我學習 React 時,就很苦惱。有的教程討論一些細節問題,對入門沒幫助;有的教程寫得不錯,但比較短,無助于看清全貌。我斷斷續續學了幾個月,看過二十幾篇教程,在這個過程中,將對自己有幫助的 Demo 都收集下來,做成了一個庫[React Demos](https://github.com/ruanyf/react-demos)?。
[](https://github.com/ruanyf/react-demos)
下面,我就根據[這個庫](https://github.com/ruanyf/react-demos),寫一篇全面又易懂的 React 入門教程。你只需要跟著每一個 Demo 做一遍,就能初步掌握 React 。當然,前提是你必須擁有基本 JavaScript 和 DOM 知識,但是你讀完就會發現,React 所要求的預備知識真的很少。