亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

react入門教程

2024-04-27 15:12:10
字體:
來源:轉載
供稿:網友

* demo地址:* * HTML*

<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script><script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script><script src="http://static.runoob.com/assets/react/browser.min.js"></script><!-- 引用外部JSX文件(text/babel) --><script type="text/babel" src="js/JSXscript.js"></script> <style> *{font-size:14px;} #para{color:red;}</style></head><body> <div id="example"></div></body></html>

* JS*

// 變量var content = document.getElementById('example');var i = 1;// 樣式對象var mystyle = { fontSize:20, padding:'0 15px', color:'blue', fontWeight:700}var background_gray = { backgroundColor:'#eee', padding:10}// 數組var arr = [ <h3>arr數組的h3</h3>, <h4>arr數組的h4</h4>]// 單組件var HelloMessage = React.createClass({ render:function(){ return <p>單個組件 {this.PRops.name}</p>; }})// 多組件嵌套var Website = React.createClass({ render:function(){ return ( <div style={background_gray}> <Name name={this.props.name} /> <Link site={this.props.site} /> </div> ) }})var Name = React.createClass({ render:function(){ return <h1>{this.props.name}</h1> }})var Link = React.createClass({ render:function(){ return <a href={'https://' + this.props.site}>{this.props.site}</a> }})// State(狀態)var Likeme = React.createClass({ // 'state'是固定單詞 getInitialState:function(){ return {key:true} }, changeState:function(event){ this.setState({key:!this.state.key}) }, render:function(){ var text = this.state.key ? '喜歡' :'討厭'; return <p onClick = {this.changeState}>react state: 你<b>{text}</b>我,點擊切換</p> }})//單getDefaultPropsvar Defaultprops = React.createClass({ getDefaultProps:function(){ return { name : '作者' } }, render:function(){ return <p><b>{this.props.name}</b>的基本資料:</p> }})//多getDefaultPropsvar Myinfo = React.createClass({ getDefaultProps:function(){ return { name : 'lidy', sex : 'male', email : '820262236', age : 27 } }, render:function(){ return ( <div> 簡稱:{this.props.name}<br/> 姓別:{this.props.sex}<br/> 郵箱:{this.props.email}@<b>QQ</b>.com<br/> 年齡:{this.props.age} </div> ) }})// setState & replaceStatevar Counter = React.createClass({ getInitialState:function(){ return {num:0} }, changeNum:function(){ //合并state this.setState({num:this.state.num+1}); //替換state // this.replaceState({num:this.state.num+2}); }, render:function(){ return <p onClick={this.changeNum}>點擊次數為:{this.state.num}</p> }})// setProps & replaceProps --ERROR/*var Counter2 = React.createClass({ getDefaultProps:function(){ return {num:0}; }, changeNum:function(){ this.setProps({num:this.props.num+2}) }, render:function(){ return <p onClick={this.changeNum}>點擊次數為:{this.props.num}</p> }})*///componentDidMount第一次渲染后調用,客戶端var Opacity = React.createClass({ getInitialState:function(){ return {opacity:1} }, componentWillMount:function() { // alert(1); console.log('Component WILL MOUNT!') }, componentWillReceiveProps:function(newProps) { console.log('Component WILL RECEIVE PROPS!') }, componentDidMount :function(){ console.log('Component DID MOUNT!'); this.t = setInterval(function(){ var opacity = this.state.opacity; opacity-=0.05; if(opacity<0.1){opacity = 1} this.setState({opacity:opacity}); }.bind(this),100) }, render:function(){ return <p style={{opacity:this.state.opacity,padding:10,backgroundColor:'#eee'}}>Hello {this.props.name}</p> }})//react Ajaxvar UserGist = React.createClass({ getInitialState:function(){ return { username:'', lastGistUrl:'' } }, componentDidMount:function(){ // 需引入jquery this.serverRequest = $.get(this.props.source,function(result){ var lastGist = result[0]; //? WHY result[0] this.setState({ username:lastGist.owner.login, lastGistUrl:lastGist.html_url }) }.bind(this)); }, componentWillUnmount:function(){ this.serverRequest.abort(); }, render:function(){ return ( <div style={background_gray}> AJAX: 用戶{this.state.username}最新的Gist共享地址: <a href={this.state.lastGistUrl}>{this.state.lastGistUrl}</a> </div> ) }})//表單var InputBox = React.createClass({ getInitialState:function(){ return {value:'lidysun'} }, changeValue:function(event){ this.setState({value:event.target.value}); }, render:function(){ var value = this.state.value; return ( <div style={{margin:'10px 0',backgroundColor:'#ddd',padding:10}}> <input value={value} onChange={this.changeValue} /> <p>{value}</p> </div> ) }})//handleChange updateStateProp子組建更新父組建statevar Inner = React.createClass({ render:function(){ return ( <div> <input type="button" value="點擊我" onClick={this.props.handleChange} /> 子組建更新父組建state <p>{this.props.newProp}</p> </div> ) }})var HellowMessage = React.createClass({ getInitialState:function(){ return {value:'hello world!'} }, handleChange:function(){ this.setState({value:'孫剛同學'}) }, render:function(){ var value = this.state.value; return <Inner newProp={value} handleChange={this.handleChange} /> }})//渲染ReactDOM.render( <div> <h1>歡迎光臨</h1> <h2>react by facebook</h2> {/*注釋...*/} <p id="para">我的id是para{0.5+0.5}</p> <p>三元運算符結果:{i==1?'true':'false'}</p> <p style={mystyle}>內聯樣式style</p> <div>{arr}</div> <div><HelloMessage name='react createClass'/></div> <Website name="組件嵌套" site="www.baidu.com" /> <Likeme /> <div style={background_gray}> <Defaultprops /> <Myinfo /> </div> <Counter /> <Opacity name = "world"/> <UserGist source="http://api.github.com/users/octocat/gists" /> <InputBox /> <HellowMessage /> </div>,content)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91夜夜揉人人捏人人添红杏| 精品久久久久久久久久| 国产91色在线免费| 国产精品jizz在线观看麻豆| 国产精品老牛影院在线观看| 26uuu另类亚洲欧美日本老年| 国产视频精品一区二区三区| 国产精品久久久久久久电影| 亚洲片av在线| 久久精品电影网站| 国产精品一区专区欧美日韩| 91精品久久久久久久久久久| 中文字幕在线视频日韩| 亚洲自拍av在线| 欧美性jizz18性欧美| 欧美在线视频观看免费网站| 日韩在线视频免费观看| 久久久之久亚州精品露出| 色偷偷91综合久久噜噜| 午夜精品福利在线观看| 精品女同一区二区三区在线播放| 日韩日本欧美亚洲| 亚洲高清在线观看| 国产精品jizz在线观看麻豆| 国产精品最新在线观看| 粉嫩av一区二区三区免费野| 国产精品久久久999| 欧美性jizz18性欧美| 欧美性猛交xxxx乱大交| 中文字幕一精品亚洲无线一区| 欧美精品九九久久| 亚洲字幕一区二区| 国产精品国内视频| 亚洲免费视频在线观看| 日韩av观看网址| 国产精品一区久久久| 26uuu日韩精品一区二区| 欧美日韩午夜剧场| 最近日韩中文字幕中文| 成人中文字幕+乱码+中文字幕| 最新69国产成人精品视频免费| 国产精品久久久久影院日本| 日韩电影中文字幕在线| 日韩欧美在线视频日韩欧美在线视频| 亚洲国产精品国自产拍av秋霞| 中文字幕精品久久久久| 亚洲欧美精品一区二区| 97在线精品国自产拍中文| 欧美wwwxxxx| 超在线视频97| 久久国内精品一国内精品| 菠萝蜜影院一区二区免费| 国内免费久久久久久久久久久| 欧美日韩国产成人在线| 精品欧美aⅴ在线网站| 97精品在线观看| 777国产偷窥盗摄精品视频| 高清一区二区三区四区五区| 精品网站999www| 欧美国产日韩一区二区| 国产91|九色| 日韩欧美福利视频| 最近2019年中文视频免费在线观看| 亚洲日本欧美日韩高观看| 欧美怡红院视频一区二区三区| 国产精品美女久久久久av超清| 色妞一区二区三区| 日韩影视在线观看| 国产精品一区二区三区在线播放| 日韩av综合网站| 亚洲成人精品视频在线观看| 国产偷亚洲偷欧美偷精品| 亚洲一区二区久久| 欧美xxxx做受欧美.88| 97国产精品久久| 亚洲欧洲一区二区三区在线观看| 美女视频黄免费的亚洲男人天堂| 日韩视频免费观看| 久久久久久成人| 久久69精品久久久久久国产越南| 国产精品久久久999| 91青草视频久久| 爽爽爽爽爽爽爽成人免费观看| 国产一区二区三区直播精品电影| 久久精品国产视频| 欧美在线一区二区视频| 91人成网站www| 国产一区二区三区丝袜| 国产精品无码专区在线观看| 狠狠色噜噜狠狠狠狠97| 欧美在线视频免费观看| 亚洲精品美女在线观看播放| 亚洲第一精品夜夜躁人人躁| 国产欧美日韩丝袜精品一区| 久久影院免费观看| 亚洲专区在线视频| 国产99久久精品一区二区永久免费| 亚洲片av在线| 欧美成人午夜激情| 日韩免费在线视频| 国产精品免费小视频| 亚洲在线www| 精品久久香蕉国产线看观看亚洲| 日韩av在线免费观看| 日本精品一区二区三区在线播放视频| 久久久久久美女| 欧美激情a∨在线视频播放| 亚洲欧美精品伊人久久| 久久久久久久久久久网站| 日韩中文字幕网站| 18一19gay欧美视频网站| 欧美一级成年大片在线观看| 久久久久久香蕉网| 久久99国产综合精品女同| 国产自产女人91一区在线观看| 欧美日韩国产限制| 久久人人爽国产| 亚洲欧美制服第一页| 亚洲国产成人在线播放| 91精品久久久久久久久| 91美女片黄在线观| 日韩经典一区二区三区| 国产精品免费久久久久影院| 欧美电影在线免费观看网站| 中文字幕在线成人| 自拍偷拍亚洲一区| 午夜精品久久久久久久白皮肤| 亚洲精品欧美日韩专区| 久久久久久久久国产精品| 高清欧美一区二区三区| 日本久久中文字幕| 国内精品在线一区| 亚洲国产高清高潮精品美女| 成人乱人伦精品视频在线观看| 91高清视频免费观看| 日韩在线精品一区| 欧美乱人伦中文字幕在线| 亚洲精品91美女久久久久久久| 91久久在线播放| 久久久国产精彩视频美女艺术照福利| 国产精品日韩久久久久| 国产suv精品一区二区三区88区| 91精品国产91久久久久久最新| 亚洲国产日韩欧美在线图片| 91精品国产乱码久久久久久久久| 日韩高清免费观看| 97精品国产97久久久久久春色| 国产综合福利在线| 欧美另类极品videosbest最新版本| 国产不卡在线观看| 久久影院模特热| 奇米4444一区二区三区| 久久久国产影院| 国产69精品99久久久久久宅男| 美女啪啪无遮挡免费久久网站| 成人精品网站在线观看| 九九热这里只有在线精品视| 91在线网站视频| 福利精品视频在线| 538国产精品一区二区免费视频| 欧美日韩国产一中文字不卡| 亚洲第一视频在线观看| 亚洲欧美日本另类| 国外成人免费在线播放|