Réagir PropTypes.oneOf pour spécifier un enum ne fonctionne pas
J'ai un problème pour spécifier une propriété de type "enum' à réagir. Selon la documentation ici Réagir de plusieurs composants l'extrait de code suivant devrait fonctionner :
position : React.PropTypes.oneOf(['rightTop','rightBottom'])
Mais j'obtiens l'erreur suivante
ERROR in ./app/components/mqttComponents/mqttPresence.jsx
Module build failed: SyntaxError:/Users/giuseppe/Projects/sw-director/app/components/mqttComponents/mqttPresence.jsx: Unexpected token (68:36)
66 | propTypes : {
67 | //position: React.PropTypes.string.isRequired,
> 68 | position : React.PropTypes.oneOf(['rightTop','rightBottom']),
^
69 | showMqttClientStatus : React.PropTypes.bool.isRequired,
70 | mqtt: React.PropTypes.object
71 | }
Je ne m'en rends pas compte, qui est l'erreur? Peut-être que quelque chose est liée à la nouvelle ES6 syntaxe ?
- Depuis c'est une erreur de syntaxe, cela n'a rien à voir avec
oneOf
spécifiquement. - Je sais, il y a donc un décalage entre la documentation de la
oneOf
et sa mise en œuvre.Selon la documentation est une fonction qui prend un tableau en argument, alors qu'il ne l'est pas. Alors, quel est-il ? - De nouveau, c'est un syntaxe erreur, pas une erreur d'exécution. Le problème n'est pas avec le
oneOf
la fonction ou la valeur que vous transmettez. Le problème avec les caractères que vous avez tapé dans le fichier (simplifié). Mais pourquoi avoir une erreur là, je ne sais pas.
Vous devez vous connecter pour publier un commentaire.
Avec l'ES6 syntaxe de la propTypes à Réagir devrait être définie comme une propriété statique. Donc, la seule différence doit être dans le propTypes déclaration.