React學(xué)習(xí) - 二.組件基礎(chǔ)

三個重要概念點(diǎn)

  • 組件 return()的返回節(jié)點(diǎn)必須是一個,所以有多個節(jié)點(diǎn)時,用一個大節(jié)點(diǎn)包起
var React = require('react');
var ReactDOM = require('react-dom');
import ComponentHeader from './components/header';

class Index extends React.Component{
  render(){
    return (
      <div>                                                      #用 div 包起多個節(jié)點(diǎn)
        <ComponentHeader />
        <h2>頁面的主體內(nèi)容</h2>
      </div>
    );
  }
}
  • 可以給外部使用的組件要加上export default
import React from 'react';
import ReactDOM from 'react-dom';

#這個組件要供給 Index 組件使用,所以加上export default
export default class ComponentHeader extends React.Component{       
  render(){
    return (
      <header>
        <h1>這里是頭部</h1>
      </header>
    );
  }
}
  • 入口定義:ReactDOM.render(<Index/>, document.getElementById('example'),輸出給 html 的最終入口點(diǎn)
var React = require('react');
var ReactDOM = require('react-dom');
import ComponentHeader from './components/header';

class Index extends React.Component{
  render(){
    return (
      <div>
        <ComponentHeader />
        <h2>頁面的主體內(nèi)容</h2>
      </div>
    );
  }
}

ReactDOM.render(<Index/>, document.getElementById('example'));

多組件嵌套

-組件可以以參數(shù)的形式傳遞

var React = require('react');
var ReactDOM = require('react-dom');
import ComponentHeader from './components/header';
import ComponentFooter from './components/footer';
import BodyIndex from './components/BodyIndex';

class Index extends React.Component{
  render(){

    var component;            #這里模擬了用戶登錄的情況,以判斷結(jié)果選擇不同的組件進(jìn)行傳入粥庄。
    if(用戶已登錄) {
      component = <ComponentLoginHeader />
    }
    else {
      component = <ComponentHeader />
    }

    return (
      <div>
        {component}
        <BodyIndex />
        <ComponentFooter />
      </div>
    );
  }
}

ReactDOM.render(<Index/>, document.getElementById('example'));

JSX內(nèi)置表達(dá)式(更多去看文檔)

  • 使用三元表達(dá)式進(jìn)行判斷
    下例中的:{userName == '' ? ' 用戶沒有登錄' : '用戶名: ' + userName}?判斷 boolean 值,用:的前后來執(zhí)行判斷
  • 標(biāo)簽屬性的表達(dá)式
    下例中的:<input type='button' value = {userName} disabled={boolInput}></input> ,表達(dá)式可以不用引號包裹
  • 注釋的寫法{/* 注釋 */}
import React from 'react';
import ReactDOM from 'react-dom';

export default class BodyIndex extends React.Component{
  render(){

    var userName = "emilesu";
    var boolInput = false;

    return (
      <div>
        <h2>這里是主體內(nèi)容</h2>
        <p>{userName == '' ? '用戶沒有登錄' : '用戶名: ' + userName }</p>
        <p><input type='button' value = {userName} disabled={boolInput}></input></p>
        {/*
          1.這里是注釋
          2.這里是注釋
          3.這里是注釋
          */}
      </div>
    );
  }
}

生命周期函數(shù)

生命周期函數(shù)的作用豺妓,是在組件起始過程的不同階段內(nèi)惜互,可以通過調(diào)用生命周期函數(shù),插入響應(yīng)不同的動作琳拭。

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末训堆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子白嘁,更是在濱河造成了極大的恐慌坑鱼,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鲁沥,居然都是意外死亡呼股,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門画恰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彭谁,“玉大人,你說我怎么就攤上這事允扇〔郑” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵考润,是天一觀的道長狭园。 經(jīng)常有香客問我,道長糊治,這世上最難降的妖魔是什么唱矛? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮俊戳,結(jié)果婚禮上揖赴,老公的妹妹穿的比我還像新娘。我一直安慰自己抑胎,他們只是感情好燥滑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阿逃,像睡著了一般铭拧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恃锉,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天搀菩,我揣著相機(jī)與錄音,去河邊找鬼破托。 笑死肪跋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的土砂。 我是一名探鬼主播州既,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼萝映!你這毒婦竟也來了吴叶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤序臂,失蹤者是張志新(化名)和其女友劉穎蚌卤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逊彭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年咸灿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诫龙。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡析显,死狀恐怖鲫咽,靈堂內(nèi)的尸體忽然破棺而出签赃,到底是詐尸還是另有隱情,我是刑警寧澤分尸,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布锦聊,位于F島的核電站,受9級特大地震影響箩绍,放射性物質(zhì)發(fā)生泄漏孔庭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一材蛛、第九天 我趴在偏房一處隱蔽的房頂上張望圆到。 院中可真熱鬧,春花似錦卑吭、人聲如沸芽淡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挣菲。三九已至,卻和暖如春掷邦,著一層夾襖步出監(jiān)牢的瞬間白胀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工抚岗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留或杠,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓宣蔚,卻偏偏與公主長得像向抢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子件已,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理笋额,服務(wù)發(fā)現(xiàn),斷路器篷扩,智...
    卡卡羅2017閱讀 134,626評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,730評論 25 707
  • 2017.1.25 夜 微醉酒是君子品兄猩,也是世態(tài)萬千的照妖鏡。會喝的適當(dāng)喝,添了雅興尋了開心枢冤,這滋味自然美好鸠姨。只是...
    郁衡子閱讀 1,707評論 7 2
  • 1.racking She was now shaking with long, racking sobs. su...
    Mr_Oldman閱讀 175評論 0 0