2016-05-07 2 views
2

私はpropTypesの小道具を機能に設定しました。しかし、私はまた、その小道具に渡される値が文字列でなければならないことを指定したいと思います。現在反応型プロポタイプミキシング機能を必要とする

propTypes: { 
    user: function(props, propName, componentName) { 
    if (props.user != undefined) console.log('Error'); 
    }, 
    x: React.propTypes.nonNegative 
} 

が欲しいも含めます

propTypes:{ 
    user: React.PropTypes.string 
} 

まだ機能を使用中の文字列であることをuser小道具の値を要求する方法はありますか?

+0

あなたの例は非常に明確ではありません。ユーザは文字列でなければならないが、 'x'プロパティにアクセスしようとしているので、あなたの小道具はオブジェクトであるようだ。 –

+0

編集されている。 'props.x'は何かから残されていましたが、無関係です。 – Jose

答えて

1

だからtypeofとその型をテストします。

propTypes: { 
    user: function(props, propName, componentName) { 
    if (typeof props != 'string') { 
     return new Error(
      'Invalid prop `' + propName + '` supplied to' + 
      ' `' + componentName + '`. It must be a string.' 
     ); 
    } 
    } 
} 
+0

すでに他のロジックが関数内にあるとします。関数内のステートメントを一緒に束ねることを避けることができる他の方法はありますか?それはちょっと面倒です。 – Jose

+0

このコードで質問を更新してください。 –

+0

K、更新されました。 – Jose

関連する問題