摘要:環境配置新版的要求統一使用作為的編譯工具,因此我們選擇,新建文件,內容如下設置候選版本為和這里因為要用到,所以把在候選版本里加入對的支持組件里引入的組件這個概念里的組件就像,里的控件一樣,能方便快捷的作為界面的一部分實現一定功能,我們可以
環境配置
新版的React要求統一使用babel作為JSX的編譯工具,因此我們選擇babel,新建.babelrc文件,內容如下
{ "presets":["es2015","react"] //設置候選版本為es6和react-jsx }
這里因為要用到ES6,所以把在babel候選版本里加入對ES6的支持
React組件React里引入的組件這個概念:
React里的組件就像Android,ios里的控件一樣,能方便快捷的作為界面的一部分實現一定功能,我們可以把數據傳入:
var Hello = React.createClass({ render: function () { return (); } });{this.props.name}
這里我們用React.createClass方法創建了一個React組件,render函數的返回值為要渲染的內容。
同樣的組件我們用ES6實現如下:
class Hello extends React.Component { render() { return (); } }{this.props.name}
這里用到了ES6的class、extends等關鍵詞
接下來我們用ReactDOM.render方法將其render到頁面上
let names = [ "flypie ", "flyboy " ]; ReactDOM.render(組件的生命周期, document.body );
組件的生命周期分成三個狀態:
Mounting:已插入真實 DOM
Updating:正在被重新渲染
Unmounting:已移出真實 DOM
React 為每個狀態都提供了兩種處理函數,will 函數在進入狀態之前調用,did 函數在進入狀態之后調用,三種狀態共計五種處理函數。
componentWillMount()
componentDidMount()
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentWillUnmount()
下圖是官方文檔里對各種函數執行位置的表述
這里我們做個實驗:
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 );
運行程序,控制臺輸出結果如下:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79371.html
摘要:入門學習筆記整理一搭建環境入門學習筆記整理二簡介與語法入門學習筆記整理三組件入門學習筆記整理四事件入門學習筆記整理五入門學習筆記整理六組件通信入門學習筆記整理七生命周期入門學習筆記整理八入門學習筆記整理九路由React 入門學習筆記整理(一)——搭建環境 React 入門學習筆記整理(二)—— JSX簡介與語法 React 入門學習筆記整理(三)—— 組件 React 入門學習筆記整理(...
摘要:選擇的主要原因大概是因為該框架出現較早,感覺上會相對成熟,日后學習中遇到問題想要查找答案相對簡單一些,對,就是這么簡單。多說無益,接下來開始的學習,我按照我學習中帶著的問題來一一解答,完成我的入門筆記。主要是針對前端的組件化開發。 這兩天得空,特意來折騰了以下時下火熱的前端框架react,至于為什么選react,作為一個初學者react和vue在技術上的優劣我無權評論,也就不妄加評論了...
摘要:架構小白入門筆記是提出的一種處理前端數據的架構,學習就是學習它的思想。這個筆記是我在學習了阮一峰老師的架構入門教程之后得出,里面的例子和部分原文來自于其不同在于我用將其改寫了,并加入了注釋。 Flux架構小白入門筆記 Flux是facebook提出的一種處理前端數據的架構,學習Flux就是學習它的思想。 這個筆記是我在學習了阮一峰老師的Flux 架構入門教程之后得出,里面的例子和部分原...
摘要:是程序的入口文件自動化測試定義組件擴大點擊區域虛擬的生成數據模板數據模板生成虛擬虛擬就是一個對象,用它來描述真實損耗了性能用虛擬的結構生成真實的來顯示發生變化數據模板生成新的虛擬極大提升了性能數據更新比較原始虛擬和新的虛擬的區別找到區別極大 Index.js是程序的入口文件 PWA progressive web application(registerServiceWorker) A...
閱讀 2672·2021-11-18 10:02
閱讀 3402·2021-09-28 09:35
閱讀 2586·2021-09-22 15:12
閱讀 741·2021-09-22 15:08
閱讀 3071·2021-09-07 09:58
閱讀 3464·2021-08-23 09:42
閱讀 725·2019-08-30 12:53
閱讀 2072·2019-08-29 13:51