課程
/前端開發(fā)
/React.JS
/React組件
現(xiàn)在所有代碼都寫在一個HTML中,在實際項目中應用時,如何進行拆分呢,這樣寫代碼是不是太多了
2019-07-16
源自:React組件 2-9
正在回答
首先創(chuàng)建一個新的React項目
npx?create-react-app?my-app
在src文件夾下單獨建立一個js文件,把每一個組件封裝成一個類,
將需要在其他文件引用的類用
export?default????類名;
命名導出,進行引用就可以了。
//stateTest.js import?React,?{?Component?}?from?'react'; class?LightningCounter?extends?Component?{ ????constructor(){ ????????super(); ????????this.state?=?{strikes:0}; ????} ????getInitialState(){ ????????return?{strikes:0} ????} ????timerTick=()=>{this.setState({strikes:this.state.strikes?+?100});} ????componentDidMount=()=>{//組件被瀏覽器加載之后,沒有被調用之前,設置定時器 ????????setInterval(this.timerTick,1000);} ????render()?{ ????????var?counterStyle?=?{color:"#66FFFF",fontSize:50} ????????var?count?=?this.state.strikes.toLocaleString(); ????????return?(<div><h1?style={counterStyle}>{count}</h1></div>)} ??} ??class?LightningCounterDisplay?extends?Component?{ ??????render()?{ ??????????var?commonStyle?=?{margin:0,padding:0} ??????????var?divStyle?=?{width:250,textAlign:"center",backgroundColor:"black",padding:40,color:"#999",fontFamily:"sans-serif",borderRadius:10} ??????????var?textStyle?=?{emphasis:{fontSize:38,...commonStyle},smallEmpasis:{...commonStyle},small:{fontSize:17,opacity:0.5,...commonStyle}} ??????????return?( ??????????<div> ??????????????<div?style={divStyle}> ??????????????<LightningCounter/> ??????????????<h2?style={textStyle.smallEmpasis}>變更</h2> ??????????????<h2?style={textStyle.smallEmpasis}>地球</h2> ??????????????<p?style={textStyle.smallEmpasis}>(加載后)</p> ??????????</div> ??????????</div>);}} ??export?default?LightningCounterDisplay; ?? ?? ??//index.js ?? ??import?React,{Component}?from?'react'; ??import?ReactDOM?from?'react-dom'; ??import?*?as?serviceWorker?from?'./serviceWorker'; ??import?LightningCounterDisplay?from?'./stateTs'; ??ReactDOM.render( ??????<div><LightningCounterDisplay?/></div>,? ??????document.getElementById('root')); ??serviceWorker.unregister();
舉報
帶你了解如何創(chuàng)建好擁有各自狀態(tài)的組件,再由組件構成更加復雜的界面
1 回答優(yōu)化問題,map列表時候,我加了個圖片是否為空的判斷,代碼沒錯,但寫的冗余,如何優(yōu)化?
5 回答在官網上試了一下老師的代碼不頂用,望大神解答一下,自認為引入的js不會影響程序的執(zhí)行
1 回答代碼無法運行成功,請問是哪里出錯了,控制臺沒有報錯
3 回答componentDidMount視頻中是不是說錯了
2 回答如果多個className怎么辦
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-07-17
首先創(chuàng)建一個新的React項目
在src文件夾下單獨建立一個js文件,把每一個組件封裝成一個類,
將需要在其他文件引用的類用
命名導出,進行引用就可以了。