2017-01-24 13 views
1
completed: React.PropTypes.number, 

Reactコンポーネントでは、propsの最小値と最大値を指定できますか?React.PropTypes.number float最小値と最大値を使用

completed: React.PropTypes.numberBetween(min, max), 

私は範囲

試み指定する配列を生成:

completed: React.PropTypes.oneOf(Array.from({length: max -min+1, (v, k) => k + min})), 

をしかし、私は受け入れるcompleted小道具としても浮くしたい、次のようなものが期待

まあ、それは整数だけを受け入れます。

次の制約は、組み合わせにする方法:

  • propある数(整数、浮動小数点、ダブル、...任意の数)

+2

あなたに伝えたいのは、propypeは開発モードでのみチェックされています。いくつかの方法でこれを実現すれば、この状態はprodではなく開発モードでチェックされます。これを確認してください:https://facebook.github.io/react/docs/typechecking-with-proptypes.html –

答えて

4
MINとMAXの間

  • カスタム検証を使用することができます。

    completed: function(props, propName, componentName) { 
        if(props[propName] < MIN || props[propName] > MAX) { 
         return new Error('Invalid'); 
        } 
    } 
    
  • +0

    cool!......... –

    3

    Custom Props Validatorを書くことで、これを達成できます。

    num: function(props, propName, componentName) { 
        if(typeof props[propName] != 'number'){ 
         return new Error ('Invalid type of `' + propName + '` supplied to' + ' `' + componentName + '`. Validation failed.'); 
        }else if (props[propName] < MIN || props[propName] > MAX) { 
         return new Error('Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Validation failed.'); 
        } 
    }, 
    
    関連する問題