10月底學(xué)習(xí)筆記


10.24日


react 官網(wǎng)tutorial(15:14 --17:06 (中間休息半個(gè)小時(shí))1.5h左右)



1.ES6 寫法

onClick={()=>alert('click')}

注意到這里我們傳給onClick屬性的是一個(gè)函數(shù)方法,假如我們寫的是onClick={alert('click')}警示框是會(huì)立即彈出的欺殿。

2. supper()

使用JavaScript classes時(shí)逢勾,你必須調(diào)用 super() 方法才能在繼承父類的子類中正確獲取到類型的this

3. 組件間數(shù)據(jù)傳遞

當(dāng)你遇到需要同時(shí)獲取多個(gè)子組件數(shù)據(jù)互站,或者兩個(gè)組件之間需要相互通訊的情況時(shí)杰捂,把子組件的 state 數(shù)據(jù)提升至其共同的父組件當(dāng)中保存结洼。之后父組件可以通過 props 將狀態(tài)數(shù)據(jù)傳遞到子組件當(dāng)中枷畏。這樣應(yīng)用當(dāng)中的狀態(tài)數(shù)據(jù)就能夠更方便地交流共享了敷硅。


學(xué)習(xí)至狀態(tài)提升




react官網(wǎng)快速開始 17:13 --17:57

包管理器yarn npm

構(gòu)建器 webpack Browserify? 編寫模塊代碼并將其壓縮巩步,優(yōu)化加載時(shí)間旁赊。

編譯器 Babel

abel 安裝說明說明了如何在多種不同的環(huán)境中配置 Babel,確保你已經(jīng)安裝了babel-preset-reactbabel-preset-es2015并且在.babelrcconfiguration配置文件中啟用它們, 到這里就準(zhǔn)備就緒了码倦。

開發(fā)和生產(chǎn)版本

默認(rèn)情況下驼修,React 會(huì)包含很多有用的警告砸捏,這些警告在開發(fā)中非常有用。

然而离福,這些警告使開發(fā)版本的 React 體積過大并且運(yùn)行過慢,所以你應(yīng)該在部署應(yīng)用時(shí)使用生產(chǎn)版本

了解如何判斷你的網(wǎng)頁是否運(yùn)行了合適的 React 版本, 以及如何有效的配置生產(chǎn)構(gòu)建程序:

使用 Create React App 構(gòu)建應(yīng)用

使用獨(dú)立文件構(gòu)建應(yīng)用

使用 Brunch 構(gòu)建應(yīng)用

使用 Browserify 構(gòu)建應(yīng)用

使用 Rollup 構(gòu)建應(yīng)用

使用 Webpack 構(gòu)建應(yīng)用

JSX 本身其實(shí)也是一種表達(dá)式

在編譯之后呢炼蛤,JSX 其實(shí)會(huì)被轉(zhuǎn)化為普通的 JavaScript 對(duì)象妖爷。

這也就意味著,你其實(shí)可以在if或者for語句里使用 JSX理朋,將它賦值給變量絮识,當(dāng)作參數(shù)傳入绿聘,作為返回值都可以

引號(hào)來定義以字符串為值的屬性 大括號(hào)來定義以 JavaScript 表達(dá)式為值的屬性

如果 JSX 標(biāo)簽是閉合式的,那么你需要在結(jié)尾處用 />

JSX 標(biāo)簽同樣可以相互嵌套

JSX 的特性更接近 JavaScript 而不是 HTML , 所以 React DOM 使用camelCase小駝峰命名 來定義屬性的名稱次舌,而不是使用 HTML 的屬性名稱熄攘。

例如,class變成了className彼念,而tabindex則對(duì)應(yīng)著tabIndex.

JSX 防注入攻擊


元素是構(gòu)成 React 應(yīng)用的最小單位挪圾。

React 元素都是immutable 不可變的。當(dāng)元素被創(chuàng)建之后逐沙,你是無法改變其內(nèi)容或?qū)傩缘穆迨贰8陆缑娴奈ㄒ晦k法是創(chuàng)建一個(gè)新的元素

React 只會(huì)更新必要的部分

組件 & Props

組件可以將UI切分成一些的獨(dú)立的、可復(fù)用的部件酱吝,這樣你就只需專注于構(gòu)建每一個(gè)單獨(dú)的部件也殖。


react官網(wǎng)快速開始 21:09 -- 21:48


組件 & Props

React元素 可以是DOM標(biāo)簽,也可以是用戶自定義的組件

組件名稱必須以大寫字母開頭

組件的返回值只能有一個(gè)根元素务热。這也是我們要用一個(gè)

來包裹所有元素的原因忆嗜。



純函數(shù)? 有改變它自己的輸入值,當(dāng)傳入的值相同時(shí)崎岂,總是會(huì)返回相同的結(jié)果捆毫。


非純函數(shù) 會(huì)改變它自身的輸入值


node建站 23:09--23:17

react 音樂播放器 23:17 -- 0:14

React-router

browserHistory (yoursite.com/a/b)

hashHistory (yoursite.com/#a/b)

兩種組件 (react 2.0)

IndexRoute (沒有url時(shí),系統(tǒng)默認(rèn)使用這個(gè))

Route

<Link to = "uri" > </limk>

建立App組件類

history={hashHistory}

使用哈希uri格式

Route 可以嵌套 只更新頁面局部?jī)?nèi)容

path="/list"component={MusicList}

path 路徑 component路徑對(duì)應(yīng)的組件 IndexRoute默認(rèn)首頁冲甘?

this.props.children

當(dāng)前App下的子組件 匹配到的components

React.cloneElement(this.props.children,this.state)

克隆組件 用于傳入數(shù)據(jù)绩卤,因?yàn)镽oute定位組件并未傳入數(shù)據(jù)

this.props.children克隆的組件

this.state 克隆的數(shù)據(jù)

展示結(jié)果 : 有uri對(duì)應(yīng)頁面 頁面uri不一樣 需要提供跳轉(zhuǎn)頁面功能

使用Link跳轉(zhuǎn)到相對(duì)應(yīng)的頁面<Link to=""></Link>

???列表頁增加詳情信息?江醇?濒憋?


react 音樂播放器 21:05 -- 21:28? ? 22:48-23:13 ? ? 23:53 -- 01:11

運(yùn)用“訂閱”功能管理傳遞參數(shù)

onClick 不應(yīng)該是可執(zhí)行函數(shù),應(yīng)該是函數(shù)句柄陶夜。凛驮??条辟?運(yùn)用bind()綁定作用域同時(shí)傳參

stopPropagation()阻止事件冒泡黔夭??

Pubsub.publish 發(fā)布事件 subscribe 接收事件 ? ?unsubscribe 解綁事件(普通解綁用unbind)

播放下一曲?

思路:獲取musiclist的index 然后播放?

方法:

1.獲取index方法 indexOf()?

2. 獲取是當(dāng)前列表下第幾首歌曲 用取余的方法避免最后一首變換成第一首時(shí)需要的變化羽嫡。


onClick={this.playPrev}


{this.state.leftTime}


formatTime(time){

? ? ?time=Math.floor(time);

? ? ?letminutes=Math.floor(time/60);

? ? ?letseconds=Math.floor(time%60);

? ? ?seconds=seconds<10?`0${seconds}`:seconds;

? ? ?return`${minutes}:${seconds}`;

},

改變剩余時(shí)間: getInitialState 加參數(shù) componentDidMount(){} 對(duì)事件進(jìn)行操作?

virtual DOM

DOM diff

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末本姥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子杭棵,更是在濱河造成了極大的恐慌婚惫,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異辰妙,居然都是意外死亡鹰祸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門密浑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛙婴,“玉大人,你說我怎么就攤上這事尔破〗滞迹” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵懒构,是天一觀的道長(zhǎng)餐济。 經(jīng)常有香客問我,道長(zhǎng)胆剧,這世上最難降的妖魔是什么絮姆? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮秩霍,結(jié)果婚禮上篙悯,老公的妹妹穿的比我還像新娘。我一直安慰自己铃绒,他們只是感情好鸽照,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颠悬,像睡著了一般矮燎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赔癌,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天诞外,我揣著相機(jī)與錄音,去河邊找鬼届榄。 笑死浅乔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铝条。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼席噩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼班缰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悼枢,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤埠忘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莹妒,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡名船,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旨怠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠驼。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鉴腻,靈堂內(nèi)的尸體忽然破棺而出迷扇,到底是詐尸還是另有隱情,我是刑警寧澤爽哎,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布蜓席,位于F島的核電站,受9級(jí)特大地震影響课锌,放射性物質(zhì)發(fā)生泄漏厨内。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一渺贤、第九天 我趴在偏房一處隱蔽的房頂上張望雏胃。 院中可真熱鬧,春花似錦癣亚、人聲如沸丑掺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽街州。三九已至,卻和暖如春玻孟,著一層夾襖步出監(jiān)牢的瞬間唆缴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工黍翎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留面徽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓匣掸,卻偏偏與公主長(zhǎng)得像趟紊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碰酝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 本筆記基于React官方文檔霎匈,當(dāng)前React版本號(hào)為15.4.0。 1. 安裝 1.1 嘗試 開始之前可以先去co...
    Awey閱讀 7,658評(píng)論 14 128
  • 深入JSX date:20170412筆記原文其實(shí)JSX是React.createElement(componen...
    gaoer1938閱讀 8,050評(píng)論 2 35
  • 最近看了一本關(guān)于學(xué)習(xí)方法論的書送爸,強(qiáng)調(diào)了記筆記和堅(jiān)持的重要性铛嘱。這幾天也剛好在學(xué)習(xí)React暖释,所以我打算每天堅(jiān)持一篇R...
    gaoer1938閱讀 1,672評(píng)論 0 5
  • 原教程內(nèi)容詳見精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過程中的一些閱讀筆記墨吓,個(gè)人覺得該教程講解深入淺出球匕,比目前大...
    leonaxiong閱讀 2,813評(píng)論 1 18
  • 原文地址:Learning React.js is easier than you think原文作者:Samer...
    sunshine小小倩閱讀 4,220評(píng)論 3 41