React.FC不再建議使用
定義函數(shù)組件時(shí),使用React.FC與不使用沒有太多區(qū)別告私,沒有為我們帶來明顯的好處寂殉,建議使用常規(guī)定義方式。
以下是常見的兩種定義函數(shù)組件的ts寫法:
const Title: React.FunctionComponent = () => <div>1</div>;
const Title: React.FC = () => <div>1</div>;
帶來的問題可具體閱讀附錄【參考1】您炉,這里僅簡單總結(jié):
- React.FC類型的函數(shù)組件自帶children屬性柒爵,但很多時(shí)候并不需要,在使用上可能造成困惑邻吭;
const SomeComponent: React.FC = () => <div>xxxxx</div>;
<SomeComponent>yyyy</SomeComponent> // 實(shí)際yyyy并沒有啥意義 但不會報(bào)錯(cuò)
- 無法使用defaultProps的默認(rèn)值餐弱。本身函數(shù)組件使用defaultProps的情況也比較少。實(shí)際可以使用es6語法囱晴,給參數(shù)賦予初始默認(rèn)值膏蚓。
- 加上React.FC和不加 沒有區(qū)別,還會造成多寫代碼畸写。
// 效果等價(jià)
const SomeComponent: React.FC = () => <div>xxxxx</div>;
const SomeComponent => <div>xxxxx</div>;
閱讀:
早年P(guān)R
參考1