2 votes

Fonction de mélange de React propTypes avec exigence

Donc j'ai un accessoire dans propTypes fixé à une fonction. Toutefois, je veux également préciser que la valeur transmise à cette fonction doit être une chaîne de caractères.

Actuel :

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

Vous voulez aussi inclure :

propTypes:{
  user: React.PropTypes.string
}

Existe-t-il un moyen d'exiger la valeur de l'attribut user pour être une chaîne de caractères tout en utilisant une fonction ?

1voto

Louis Barranqueiro Points 5353

Il suffit donc de tester son type avec 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.'
        );
    }
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X