Après des heures de recherches et de tests, je n'ai pas réussi à trouver de solution pour faire comprendre le flux par défaut
L'utilisation de ce modèle est inconsistante:
type PropsType = {|
size?: 'small' | 'big',
|};
class Letter extends PureComponent<PropsType> {
static defaultProps = {
size: 'small',
}
}
Merci
Après la suggestion de Tomasz Mularczyk, j'ai créé n autre exemple Try Flow avec:
type PropsType = {|
size: 'small' | 'big',
|};
au lieu de
type PropsType = {|
size?: 'small' | 'big',
|};
Mais
defaultProp size
n'est plus tapé:
static defaultProps = {
size: 'BAD DEFAULT PROPS', // no error (?!)
}
Voir la réponse de Tomasz Mularczyk
+
N'attendez pas une erreur de flux sur votre composant actuel (dans mon cas), mais où il sera importé et déclaré (semble semi-statique non?)
Il suffit de supprimer ?
de size
type. Flow verra automatiquement que vous avez créé defaultProps
et n'en aura pas besoin.
De docs:
Pour taper les accessoires par défaut, ajoutez une propriété statique DefaultProps à votre classe.
...
React prend également en charge les accessoires par défaut sur les composants fonctionnels sans état. De même que pour les composants de classe, les accessoires par défaut pour les composants fonctionnels sans état fonctionneront sans annotations de type supplémentaires.