react入門——Component化相關(guān)整理

我曾經(jīng)一度的質(zhì)疑催式,為什么要使用框架,使用框架(react)不僅增加了我的前端學(xué)習(xí)曲線的斜率避归,而且在使用過程中荣月,并沒有覺得方便,反而是各種束縛各種坑梳毙。直到我拿到了別人的react代碼才大概懂了哺窄,框架的存在就是以犧牲簡潔性和靈活性來獲得更好的維護性和規(guī)范性。

組件化

組件化是react的重要特性之一账锹,這里把我的總結(jié)分享給大家萌业。

  • 什么是組件化?

我們都知道人體是由細(xì)胞構(gòu)成的奸柬,這個概念你自己想想就好生年,如果醫(yī)生也這么定義的話,這個世界上估計就沒有醫(yī)生了(因為太復(fù)雜了)廓奕。醫(yī)學(xué)上將人體的不同部分的細(xì)胞分門別類抱婉,有肌肉組織档叔,脂肪組織等等,然后根據(jù)不同的區(qū)塊來確認(rèn)病原以及治療方法蒸绩。
前端代碼也是一樣衙四,把代碼放在一起不僅不好維護,甚至連寫的人都會因為不停地翻上翻下而筋疲力竭侵贵。因此組件化極為必要届搁。

  • react中的組件——Component

react允許自己定義組件,這個得益于JSX窍育,組件可以自己加鍵值對卡睦,然后通過this.props進行調(diào)用。這么講太生硬漱抓,來點生動的表锻。

  • 交互代碼如下:

App.jsx

    import React, { Component } from 'react';
    import './App.css';
    import TodoInput from './TodoInput';
    import TodoItem from './TodoItem';
    import 'normalize.css';
    import './reset.css';

    class App extends Component{
        constructor(props){
            super(props)
            this.state = {
                newTodo: '啊,藏得整么深還是被發(fā)現(xiàn)了啊啊啊啊',
                todoList: []
            }
        }
        render(){
            return (
                <div className='App'>
                        <TodoInput onSubmit={this.state.newTodo}
                        onChange={this.changeTitle.bind(this)}/>
                </div>
            )
        }
    export default App;

TodoList.jsx

    import React, { Component } from 'react';

    export default class TodoInput extends Component{
        render(){
            return <input type='text' value={this.props.content}
            onKeyPress={this.submit.bind(this)} 
            onChange={this.changeTitle.bind(this)}/>
            //onKeyPress是input標(biāo)簽中的必須的內(nèi)置的
        }
        submit(e){
            if(e.key === 'Enter'){
                this.props.onSubmit(e);
            }
        }
        changeTitle(e){
            this.props.onChange(e)
        } 
    }

解說流程:

  1. App對象繼承自react的component父對象(這是規(guī)定乞娄,別問我為什么)瞬逊;
  2. constructor()函數(shù)初始化props和state;
  3. render()函數(shù)開始進行渲染:
    1. 渲染是一個輸入框組件仪或,這個組件是我自己定義的哈确镊,HTML中可沒有的。
    2. 這個輸入框的實體在TodoList.jsx文件中范删,跟App的前期流程相同蕾域,他的render()函數(shù)返回真正的HTML標(biāo)簽:<input>
    3. 標(biāo)簽中有三個鍵值對到旦,我以第二個為例旨巷。當(dāng)輸入框被被敲回車時,執(zhí)行submit()函數(shù):當(dāng)回車按下就執(zhí)行this.props.onSubmit添忘。由此就像回城跳轉(zhuǎn)一樣跳到了App.jsx文件中采呐,this.props就相當(dāng)于<TodoList>中包含鍵值對的對象夭谤,則this.props.onSubmit就是執(zhí)行鍵值對對象中的onSubmit睬澡,則獲取到this.state對象中的newTodo箱蝠,于是就獲取到字符串“啊聪廉,藏得整么深還是被發(fā)現(xiàn)了啊啊啊啊”檩小。
不愿意聽我白話想自己看文檔的滥壕,點擊這里而账!

the end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末性雄,一起剝皮案震驚了整個濱河市娄周,隨后出現(xiàn)的幾起案子涕侈,更是在濱河造成了極大的恐慌,老刑警劉巖煤辨,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裳涛,死亡現(xiàn)場離奇詭異木张,居然都是意外死亡,警方通過查閱死者的電腦和手機端三,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門舷礼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人郊闯,你說我怎么就攤上這事妻献。” “怎么了团赁?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵育拨,是天一觀的道長。 經(jīng)常有香客問我欢摄,道長熬丧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任怀挠,我火速辦了婚禮析蝴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绿淋。我一直安慰自己闷畸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布吞滞。 她就那樣靜靜地躺著腾啥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冯吓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天疮跑,我揣著相機與錄音组贺,去河邊找鬼。 笑死祖娘,一個胖子當(dāng)著我的面吹牛失尖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渐苏,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼掀潮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了琼富?” 一聲冷哼從身側(cè)響起仪吧,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞠眉,沒想到半個月后薯鼠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體择诈,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年出皇,在試婚紗的時候發(fā)現(xiàn)自己被綠了羞芍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡郊艘,死狀恐怖荷科,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纱注,我是刑警寧澤畏浆,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站奈附,受9級特大地震影響全度,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜斥滤,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一将鸵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧佑颇,春花似錦顶掉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至茬贵,卻和暖如春簿透,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背解藻。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工老充, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人螟左。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓啡浊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胶背。 傳聞我的和親對象是個殘疾皇子巷嚣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

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