2017-07-02 3 views
0

Mein .eslintrc wie folgt aussieht, und ich bin mit Flow:reagieren/prop-Typen und fließen

{ 
    "extends": [ 
    "plugin:flowtype/recommended", 
    "plugin:react/recommended", 
    "prettier", 
    "prettier/flowtype", 
    "prettier/react" 
    ], 
    "plugins": [ 
    "flowtype", 
    "react", 
    "prettier" 
    ], 
    "parserOptions": { 
    "ecmaVersion": 2016, 
    "sourceType": "module", 
    "ecmaFeatures": { 
     "jsx": true 
    } 
    }, 
    "env": { 
    "es6": true, 
    "node": true 
    }, 
    "rules": { 
    "prettier/prettier": ["error", { 
     "singleQuote": true, 
     "trailingComma": "none", 
     "bracketSpacing": true, 
     "jsxBracketSameLine": false, 
     "parser": "flow" 
    }] 
    }, 
    "settings": { 
    "flowtype": { 
     "onlyFilesWithFlowAnnotation": true 
    } 
    } 
} 

ich noch immer reagieren react/prop-types obwohl ich Flow verwende.

Ist das korrekt und sollte ich sie einfach ausschalten?

Antwort

3

PropTypes dienen der Überprüfung des Laufzeittyps, während Flow der statischen Typprüfung dient. Beide dienen ihrem eigenen Zweck, nicht alle Typfehler können während der Kompilierung abgefangen werden, daher hilft Ihnen PropTypes dabei; Flow kann einige Fehler frühzeitig erkennen, bevor Sie mit Ihrer App interagieren oder diese sogar in den Browser laden.

+1

mit beiden wäre eine Wartung Albtraum – dagda1

+1

Es ist wahr, aber ich habe beide in einem ziemlich großen Projekt verwendet. In der Praxis haben wir PropTypes in einigen Teilen und Flow in anderen verwendet. Eine Faustregel war, PropTypes mit wiederverwendbaren (Container-) Komponenten zu verwenden, da wir einfache Fehler in ihnen finden können, wie das Bereitstellen von 'ID'-Prop als String anstelle von Zahl. Normalerweise passiert das, wenn wir Ajax-Ergebnisse unverändert an die Komponente übergeben. Der Fluss hat andererseits dazu beigetragen, die Eingabe von Funktionen (z. B. Helfer) zu überprüfen und sie beim Erstellen und Verketten von Funktionen konsistent zu halten. –

Verwandte Themen