2017-08-31 74 views
4

我正在處理的一個項目最近轉移到了TypeScript,使React的PropTypes變得多餘,除了指定contextTypes。現在我們正在升級到15.5版本以上的React版本,其中PropTypes被移至一個單獨的包,而不是react。由於我們使用的PropTypes非常有限,如果在沒有它們的情況下使用React的上下文,似乎沒有必要添加prop-types依賴項?有沒有PropTypes可以使用React的上下文?

回答

3

就具有contextTypes對象的關鍵似乎做工精細(假設它使用hasOwnProperty引擎蓋下),但它不記錄任何錯誤,返回null的功能似乎是必要的。這適用於contextTypes以及childContextTypes

static contextTypes = { 
    router:() => null 
}; 

static childContextTypes = { 
    location:() => null 
}; 

getChildContext() { 
    return { location: this.props.location }; 
} 

在某些情況下,打字稿抱怨() => null不具有財產isRequired。我解決了這個通過創建輔助功能fakePropType

const fakePropType: any =() => null 
fakeProptype.isRequired =() => null 
+1

保存我的天,非常感謝 – ncuillery

相關問題