四:React進(jìn)階一(類型檢查和props笆檀,state與render函數(shù)的關(guān)系)

類型檢查

  • defaultProps 默認(rèn)屬性值
  • propTypes 限制接收的屬性類別(僅在開發(fā)模式中檢測(cè))

基本寫法

import PropTypes from 'prop-types';

class Greeting extends React.Component {
  render() {
    return (
      <h1>Hello, {this.props.name}</h1>
    );
  }
}

Greeting.propTypes = {
  name: PropTypes.string
};
  • 使用 `isRequired' 鏈接上述任何一個(gè)障涯,以確保在沒有提供 prop 的情況下顯示警告。

  • defaultProps 設(shè)置默認(rèn)屬性

//類型檢測(cè)
TodoItem.propTypes = {
    content: PropTypes.string,
    deleteItem: PropTypes.func,
    index: PropTypes.number,
    // 你可以使用 `isRequired' 鏈接上述任何一個(gè),以確保在沒有提供 prop 的情況下顯示警告杂穷。
    test: PropTypes.string.isRequired
}

//設(shè)置默認(rèn)值
TodoItem.defaultProps = {
    test: '科比布萊恩特'
}
  • 某種類型之一
 // 一個(gè)對(duì)象可以是多種類型其中之一
  optionalUnion: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number,
    PropTypes.instanceOf(Message)
  ]),

props鸟废,state與render函數(shù)的關(guān)系

  • 當(dāng)組件的state或者props發(fā)生改變時(shí)猜敢,render函數(shù)就會(huì)重新執(zhí)行(自身)
  • 當(dāng)父組件的render函數(shù)執(zhí)行時(shí),它的子組件的render都將被重新執(zhí)行
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盒延,一起剝皮案震驚了整個(gè)濱河市缩擂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌添寺,老刑警劉巖胯盯,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異计露,居然都是意外死亡博脑,警方通過查閱死者的電腦和手機(jī)鳍征,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門泥兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锐借,你說我怎么就攤上這事该押×粕迹” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵蚕礼,是天一觀的道長(zhǎng)烟具。 經(jīng)常有香客問我,道長(zhǎng)奠蹬,這世上最難降的妖魔是什么净赴? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮罩润,結(jié)果婚禮上玖翅,老公的妹妹穿的比我還像新娘。我一直安慰自己割以,他們只是感情好金度,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著严沥,像睡著了一般猜极。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上消玄,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天跟伏,我揣著相機(jī)與錄音丢胚,去河邊找鬼。 笑死受扳,一個(gè)胖子當(dāng)著我的面吹牛携龟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勘高,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼峡蟋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了华望?” 一聲冷哼從身側(cè)響起蕊蝗,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赖舟,沒想到半個(gè)月后蓬戚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宾抓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年子漩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洞慎。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痛单,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劲腿,到底是詐尸還是另有隱情旭绒,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布焦人,位于F島的核電站挥吵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏花椭。R本人自食惡果不足惜忽匈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望矿辽。 院中可真熱鬧丹允,春花似錦、人聲如沸袋倔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宾娜。三九已至批狐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間前塔,已是汗流浹背嚣艇。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工承冰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人食零。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓困乒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親慌洪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子顶燕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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

  • 作為一個(gè)合格的開發(fā)者凑保,不要只滿足于編寫了可以運(yùn)行的代碼冈爹。而要了解代碼背后的工作原理;不要只滿足于自己的程序...
    六個(gè)周閱讀 8,449評(píng)論 1 33
  • 40欧引、React 什么是React频伤?React 是一個(gè)用于構(gòu)建用戶界面的框架(采用的是MVC模式):集中處理VIE...
    萌妹撒閱讀 1,017評(píng)論 0 1
  • 原教程內(nèi)容詳見精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過程中的一些閱讀筆記芝此,個(gè)人覺得該教程講解深入淺出憋肖,比目前大...
    leonaxiong閱讀 2,839評(píng)論 1 18
  • GUIDS 第一章 為什么使用React? React 一個(gè)提供了用戶接口的JavaScript庫(kù)婚苹。 誕生于Fac...
    jplyue閱讀 3,538評(píng)論 1 11
  • React簡(jiǎn)介 (1)簡(jiǎn)介 React 起源于 Facebook 的內(nèi)部項(xiàng)目岸更,因?yàn)樵摴緦?duì)市場(chǎng)上所有 JavaSc...
    魚魚吃貓貓閱讀 1,628評(píng)論 1 6