2016-06-15 21 views
16

我正在尋找一個PropType這意味着如何聲明一個對應於一個可爲空的數字的PropType?

「這是必需的,它要麼是數字或爲空」

換句話說,我現在已經是

PropTypes.number.isRequired 

但如果null值傳入,則會引發警告,但我希望null是可接受的值。

+0

你能否澄清一下,當prop通過'undefined'但是'null'通過時(即檢測錯字),你想要拋出警告嗎? – binki

+0

這似乎是最新的,因爲我一直在關注它。 https://github.com/facebook/prop-types/pull/90 –

回答

5

只需使用:

PropTypes.number 

默認情況下,所有的道具類型不是必需的(即允許nullundefined),除非你對他們的最後彈出一個.isRequired

你可以看到這裏proptypes完整文檔:

+9

但這讓'undefined'過,它允許忘記設置的道具! –

+0

好要知道的,但可能滿足OP的需求依然。 – ctrlplusb

-1

如何: PropTypes.oneOfType([PropTypes.number, null]).isRequired;

應該工作自15.4.0

編輯:剛注意到這是一年前問的。好吧,我會在這裏留下這個答案。

+0

不幸的是,它不起作用。第二個數組元素中的「null」不是React期望的proptype函數。 –

+1

您應該使用'PropTypes.oneOf([空])',而不是僅僅'null' –

+1

然而,即使'undefined'將被視爲有效的屬性,所以我沒有看到過只是使它可選任意值,如@ctrlplusb解決方案建議 –

相關問題