2016-06-15 28 views
16

BenNiçin bir numaraya karşılık gelen bir PropType'ı nasıl bildirebilirim?

anlamına gelen bir PropType arıyorum başka deyişle

, ne var şimdi

olan "bu gereklidir ve bunun bir numara olabilir ya boş ya olacak"
PropTypes.number.isRequired 

ama null değer geçirilen, henüz kabul edilebilir bir değerdir olmak null istiyorum alırsa bir uyarı atar.

+0

Prop, "undefined" geçtiğinde atılan bir uyarı istediğinizi açıklıyor olabilir, ancak null ("yazım hatası") ile iyi durumda olabilir misiniz? – binki

+0

Bunu takip ettiğimden beri, bu sonuncusu gibi görünüyor. https://github.com/facebook/prop-types/pull/90 –

cevap

5

Sadece kullanın: Eğer onlardan ucunda bir .isRequired pop sürece tüm prop tipleri gerekli değildir Varsayılan olarak

PropTypes.number 

(yani nullveyaundefined izin).

Burada proptypes tam docs görebilirsiniz:

+9

Ancak bu, 'undefined' de olanaklı kılan, prop ayarlamayı unutma! –

+0

Dikkat edilmesi iyi, ama muhtemelen OP'nin gereksinimlerini hala tatmin ediyor. – ctrlplusb

-1

ne dersiniz: PropTypes.oneOfType([PropTypes.number, null]).isRequired;?

15.4.0'dan beri çalışmalıdır.

Düzeltme: sadece bir yıl önce sorulmuştu. Eh, yine de bu cevabı burada bırakacağım.

+0

Maalesef çalışmıyor. İkinci dizi öğenizdeki "null", React'in beklediği gibi proptype işlevi değildir. –

+1

Sadece 'null' –

+1

yerine' PropTypes.oneOf ([null]) 'seçeneğini kullanmalısınız. Ancak, 'undefined' bile geçerli bir özellik olarak ele alınacaktır, bu yüzden isteğe bağlı olarak herhangi bir değeri göremiyorum. @ctrlplusb çözüm önerisi –

İlgili konular