2017-07-02 10 views
0

マイ.eslintrcはこのようになります流れ、私は流れを使用しています:は/反応プロパタイプと

{ 
    "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 
    } 
    } 
} 

私はまだ取得していますが、私はフローを使用していていてもreact/prop-typesを反応させます。

これは正しいですか?私はそれらをオフにする必要がありますか?

答えて

3

PropTypeは実行時型チェックのためのものであり、Flowは静的型検査のためのものです。どちらも独自の目的を果たしますが、コンパイル時にすべてのタイプエラーが検出されるわけではありませんので、PropTypeはそれらをサポートします。フローは、アプリとやりとりしたり、ブラウザにロードしたりする前に、早期にエラーを捕捉できます。

+1

両方を使用するとメンテナンスの悪夢 – dagda1

+1

これは本当ですが、かなり大きなプロジェクトで両方を使用しています。実際には、PropTypesをいくつかの部分で使用し、Flowを他の部分で使用しました。経験則の1つは、再利用可能な(コンテナ)コンポーネントを持つPropTypesを使用することでした。数字ではなく文字列として 'id' propを提供するなど、簡単なエラーを捕捉できるからです。通常は、Ajaxの結果をそのままコンポーネントに渡すときに発生します。一方、フローは、機能(例えば、ヘルパー)のタイピングをチェックし、機能を構成および連鎖する際に一貫性を維持するのに役立っている。 –

関連する問題