在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 使用typescript編寫react的時候,props的interface和r

使用typescript編寫react的時候,props的interface和react本身的proptypes有什么關(guān)系

通常我們使用typescript來編寫一個react組件的時候,
都會定義一個props的接口
類似于這樣的:

export interface AffixProps {
  /**
   * 距離窗口頂部達(dá)到指定偏移量后觸發(fā)
   */
  offsetTop?: number;
  offset?: number;
  /** 距離窗口底部達(dá)到指定偏移量后觸發(fā) */
  offsetBottom?: number;
  style?: React.CSSProperties;
  /** 固定狀態(tài)改變時觸發(fā)的回調(diào)函數(shù) */
  onChange?: (affixed?: boolean) => void;
  /** 設(shè)置 Affix 需要監(jiān)聽其滾動事件的元素,值為一個返回對應(yīng) DOM 元素的函數(shù) */
  target?: () => Window | HTMLElement | null;
  prefixCls?: string;
}

通過對typescript 對接口已經(jīng)做了類型限制等。
同時,在react中提供了proptypes 對props做驗證。

那么既然存在了interface,那么proptypes的作用是否可以忽略,或者說
proptypes是對interface的一種加強(qiáng)的呢?
這2者的關(guān)系怎么理解呢。
希望可以解惑~~
回答
編輯回答
乖乖瀦

Typescript 的類型檢查是靜態(tài)的,prop-types 可以在運(yùn)行時進(jìn)行檢查。
你如你傳了個 offsetTop="abc",你的編輯器可能會提示你類型有誤,但是在瀏覽器里仍然是可以正常運(yùn)行的。而如果你使用了 prop-types,在瀏覽器里就會給出提示。

2017年1月25日 16:39