2017-07-02 92 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

PropTypes用於運行時類型檢查,而Flow用於靜態類型檢查。兩者都是爲了自己的目的,並不是所有的類型錯誤都可以在編譯期間被捕獲,所以PropTypes可以幫助你; Flow可以在與應用程序交互之前儘早發現一些錯誤,甚至可以將其加載到瀏覽器中。

+1

使用兩者都是維修噩夢 – dagda1

+1

這是真的,但我已經在一個相當大的項目中使用了兩者。在實踐中,我們在某些部分使用了PropTypes,在其他部分使用了Flow。一個經驗法則是將PropTypes與可重用(容器)組件一起使用,因爲我們可以在這些容易發現的錯誤中找到錯誤,例如提供'id' prop作爲字符串而不是數字。當我們將Ajax結果切換到組件時,通常會發生這些情況。另一方面,流程有助於檢查功能(例如助手)的鍵入,並在組合和鏈接功能時保持它的一致性。 –

相關問題