摘要:環(huán)境配置新版的要求統(tǒng)一使用作為的編譯工具,因此我們選擇,新建文件,內(nèi)容如下設(shè)置候選版本為和這里因為要用到,所以把在候選版本里加入對的支持組件里引入的組件這個概念里的組件就像,里的控件一樣,能方便快捷的作為界面的一部分實現(xiàn)一定功能,我們可以
環(huán)境配置
新版的React要求統(tǒng)一使用babel作為JSX的編譯工具,因此我們選擇babel,新建.babelrc文件,內(nèi)容如下
{ "presets":["es2015","react"] //設(shè)置候選版本為es6和react-jsx }
這里因為要用到ES6,所以把在babel候選版本里加入對ES6的支持
React組件React里引入的組件這個概念:
React里的組件就像Android,ios里的控件一樣,能方便快捷的作為界面的一部分實現(xiàn)一定功能,我們可以把數(shù)據(jù)傳入:
var Hello = React.createClass({ render: function () { return (); } });{this.props.name}
這里我們用React.createClass方法創(chuàng)建了一個React組件,render函數(shù)的返回值為要渲染的內(nèi)容。
同樣的組件我們用ES6實現(xiàn)如下:
class Hello extends React.Component { render() { return (); } }{this.props.name}
這里用到了ES6的class、extends等關(guān)鍵詞
接下來我們用ReactDOM.render方法將其render到頁面上
let names = [ "flypie ", "flyboy " ]; ReactDOM.render(組件的生命周期, document.body );
組件的生命周期分成三個狀態(tài):
Mounting:已插入真實 DOM
Updating:正在被重新渲染
Unmounting:已移出真實 DOM
React 為每個狀態(tài)都提供了兩種處理函數(shù),will 函數(shù)在進(jìn)入狀態(tài)之前調(diào)用,did 函數(shù)在進(jìn)入狀態(tài)之后調(diào)用,三種狀態(tài)共計五種處理函數(shù)。
componentWillMount()
componentDidMount()
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentWillUnmount()
下圖是官方文檔里對各種函數(shù)執(zhí)行位置的表述
這里我們做個實驗:
let Hello = React.createClass({ getInitialState: function () { console.log("getInitialState"); return {}; }, getDefaultProps: function () { console.log("getDefaultProps"); return {}; }, componentWillMount: function () { console.log("componentWillMount"); }, componentDidMount: function () { console.log("componentDidMount"); }, componentWillReceiveProps: function () { console.log("componentWillReceiveProps"); }, shouldComponentUpdate: function () { console.log("shouldComponentUpdate"); return true; }, componentWillUpdate:function(){ console.log("componentWillUpdate"); }, componentDidUpdate:function(){ console.log("componentDidUpdate"); }, componentWillUnmount:function(){ console.log("componentWillUnmount"); }, render: function () { return (); } }); let names = [ "flypie ", "flyboy " ]; ReactDOM.render({this.props.name}
, document.body );
運行程序,控制臺輸出結(jié)果如下:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79371.html
摘要:入門學(xué)習(xí)筆記整理一搭建環(huán)境入門學(xué)習(xí)筆記整理二簡介與語法入門學(xué)習(xí)筆記整理三組件入門學(xué)習(xí)筆記整理四事件入門學(xué)習(xí)筆記整理五入門學(xué)習(xí)筆記整理六組件通信入門學(xué)習(xí)筆記整理七生命周期入門學(xué)習(xí)筆記整理八入門學(xué)習(xí)筆記整理九路由React 入門學(xué)習(xí)筆記整理(一)——搭建環(huán)境 React 入門學(xué)習(xí)筆記整理(二)—— JSX簡介與語法 React 入門學(xué)習(xí)筆記整理(三)—— 組件 React 入門學(xué)習(xí)筆記整理(...
摘要:選擇的主要原因大概是因為該框架出現(xiàn)較早,感覺上會相對成熟,日后學(xué)習(xí)中遇到問題想要查找答案相對簡單一些,對,就是這么簡單。多說無益,接下來開始的學(xué)習(xí),我按照我學(xué)習(xí)中帶著的問題來一一解答,完成我的入門筆記。主要是針對前端的組件化開發(fā)。 這兩天得空,特意來折騰了以下時下火熱的前端框架react,至于為什么選react,作為一個初學(xué)者react和vue在技術(shù)上的優(yōu)劣我無權(quán)評論,也就不妄加評論了...
摘要:架構(gòu)小白入門筆記是提出的一種處理前端數(shù)據(jù)的架構(gòu),學(xué)習(xí)就是學(xué)習(xí)它的思想。這個筆記是我在學(xué)習(xí)了阮一峰老師的架構(gòu)入門教程之后得出,里面的例子和部分原文來自于其不同在于我用將其改寫了,并加入了注釋。 Flux架構(gòu)小白入門筆記 Flux是facebook提出的一種處理前端數(shù)據(jù)的架構(gòu),學(xué)習(xí)Flux就是學(xué)習(xí)它的思想。 這個筆記是我在學(xué)習(xí)了阮一峰老師的Flux 架構(gòu)入門教程之后得出,里面的例子和部分原...
摘要:是程序的入口文件自動化測試定義組件擴大點擊區(qū)域虛擬的生成數(shù)據(jù)模板數(shù)據(jù)模板生成虛擬虛擬就是一個對象,用它來描述真實損耗了性能用虛擬的結(jié)構(gòu)生成真實的來顯示發(fā)生變化數(shù)據(jù)模板生成新的虛擬極大提升了性能數(shù)據(jù)更新比較原始虛擬和新的虛擬的區(qū)別找到區(qū)別極大 Index.js是程序的入口文件 PWA progressive web application(registerServiceWorker) A...
摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問起有關(guān)與時,老司機們首先就會告訴你其實是個沒有網(wǎng)絡(luò)請求功能的庫。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡單 原文地址:Learning React.js is easier than you think 原文作...
閱讀 2683·2021-11-18 10:02
閱讀 3415·2021-09-28 09:35
閱讀 2594·2021-09-22 15:12
閱讀 753·2021-09-22 15:08
閱讀 3110·2021-09-07 09:58
閱讀 3475·2021-08-23 09:42
閱讀 735·2019-08-30 12:53
閱讀 2085·2019-08-29 13:51