2017-03-07 1 views
2

J'ai reçu un composant React Functional qui prend une liste comme accessoires.La validation des accessoires est manquante dans le flux lors de la définition des valeurs par défaut sur un objet.

const Dashboard = (props: { items: List } = { items: List() }) => { 
    const { items } = props 
    ... 
}) 

Cependant, le items en const { items } = props produit l'erreur suivante:

error 'items' is missing in props validation react/prop-types

Le FlowType docs donne un exemple:

ES2015 features Default values assigned to parameters must come after the parameter’s type annotation:

function foo (P1: T1 = V): U { .. }

Mais il m'a pas vraiment clair comment cela s'applique aux objets

Répondre

4

Ceci est en fait pas une erreur de flux, mais cette erreur de eslint:

https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md

Vous pouvez résoudre votre erreur en désactivant la règle de eslint si vous ne se soucient pas de PropType maintenant que vous utilisez flux.

Ou vous ajoutez un proptype, qui est moins spécifique que flow, mais runtime.

Dashboard.propTypes = { 
    items: React.PropTypes.object 
}; 
+0

Cool! Merci beaucoup d'avoir signalé cela. Je vais aller avec la suppression de l'erreur. – Dani

+0

Vous êtes les bienvenus :) –