我试图整天都在解决这个错误。我试图将Flow添加到我的React应用程序。
我有一个声明如下的组件:
// @flow
class MyComponent extends Component {
static defaultProps = {
prop1: 'a',
prop2: 'b'
};
handleOnClick: (value: string) => void;
props: MyComponentProps;
}
并输入MyComponentProps
type MyComponentProps = {
prop1: string,
prop2: string
};
现在,Flow报告没有错误。但是当我尝试运行该应用时,出现eslint
错误:
error 'defaultProps' is not defined no-undef
error 'handleOnClick' is not defined no-undef
error 'props' is not defined no-undef
我正在使用babel-eslint
和eslint-plugin-flowtype。
我已将flowtype/define-flow-type
规则添加到我的.eslintrc
文件中。这是我.eslintrc
文件的相关部分:
{
"parser": "babel-eslint",
"plugins": [
"flowtype",
"react"
],
"extends": [
"plugin:flowtype/recommended"
],
"rules": {
"flowtype/define-flow-type": 1,
"flowtype/use-flow-type" : 1,
"no-undef": 2,
"react/jsx-no-undef": 2
}}
我错过了什么?
答案 0 :(得分:1)
您是否使用import React from 'react'
导入了React?
答案 1 :(得分:0)
收到错误的原因是棉绒无法检测到您的环境。
您可以按以下方式在“ .eslintrc.json”文件中进行编辑。
"env": {
"browser": true,
"es6": true
},
或
"parserOptions": {
"ecmaVersion": 6
},