簡體   English   中英

如何使用具有defaultProps的propTypes驗證道具?

[英]How to validate props with propTypes having defaultProps?

較早時,當我們不使用defaultProps時,我們用於在控制台中獲得警告,指出該props沒有通過。 但是在使用defaultProps配置了props簽名之后,我們不會得到任何錯誤。 那么,如何配置兩者以使其按預期工作呢?

/* Default Props */
MyApp.defaultProps = {
  data: {
    totalCount: 123
  },
  name: 'john doe'
};

/* Proptypes */
MyApp.proptypes = {
  data: {
    totalCount: Proptypes.number.isRequired
  },
  name: Proptypes.string.isRequired
};
import PropTypes from 'prop-types';

您必須使用

class test { 
    static propTypes = { 
        optionalBool: PropTypes.bool,
        requiredProperty: PropTypes.number.isRequired
}}

您已經正確地執行了此操作,以前的問題是組件被初始化時,其props具有空值,因此您會收到運行時警告,期望某些空值props,即使在初始組件安裝時,默認props也會設置該值。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM