2016-01-15 12 views
10

varsayılan prop null` `kullanılmaz geçirilir:React.js - Benim Tepki bileşeninde varsayılan sahne var

const bedrooms = null; // in real world API returns `null` 
<Component bedrooms={bedrooms} /> 
: Ben gibi bedrooms için null geçiyorum zaman

PropertyTitleLabel.defaultProps = { 
    bedrooms: 1, 
    propertyType: 'flat' 
}; 
PropertyTitleLabel.propTypes = { 
    bedrooms: PropTypes.number, 
    propertyType: PropTypes.string 
}; 

Ama

O

cevap

21

varsayılan değeri kullanmak için undefined için null değerini değiştirebilirsiniz? varsayılan pervane :(Herhangi fikirlerle değiştirilir değil.

<Component bedrooms={bedrooms || undefined} /> 

Ya da bu mixin kullanın: Ben null ve defaultProps ile uğraşırken yapılır undefined arasında bir ayrım olduğunu düşünüyorum https://github.com/jarsbe/null-default-props

+0

Burada iniş yapan herkes için bir yardımcı olarak, lütfen karışımları kullanmayın. @jagsler Umarım orijinal cevabınızı güncellemeyi düşünebilirsiniz. https://reactjs.org/blog/2016/07/13/mixins-considered-harmful.html – brianespinosa

5

. null değeri amaçlanan davranış olabilir ve bu nedenle varsayılan ayarlarınız yerine geçmez, undefined ise değiştirilmez. docs

belirtildiği üzere

[...] o ana bileşeni tarafından belirtilmedi ise this.props.value bir değere sahip olmasını sağlamak için kullanılır.

İşte bir related issue.