Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ESLint ESLint插件响应箭头函数_Javascript_Reactjs_Npm_React Jsx_Eslint - Fatal编程技术网

Javascript ESLint ESLint插件响应箭头函数

Javascript ESLint ESLint插件响应箭头函数,javascript,reactjs,npm,react-jsx,eslint,Javascript,Reactjs,Npm,React Jsx,Eslint,我在使用ESLint插件react插件的react组件中使用ESLint和arrow函数时遇到一些问题。我只是执行了以下命令: npm i-g eslint eslint插件react eslint SignUpPage.jsx 这是SignUpPage: /** * Created by jwilso37 on 4/5/2017. */ import React from 'react'; import SignUpForm from '../components/landing/Sig

我在使用
ESLint插件react
插件的react组件中使用ESLint和arrow函数时遇到一些问题。我只是执行了以下命令:

  • npm i-g eslint eslint插件react
  • eslint SignUpPage.jsx
  • 这是SignUpPage:

    /**
     * Created by jwilso37 on 4/5/2017.
     */
    
    import React from 'react';
    import SignUpForm from '../components/landing/SignUpForm.jsx';
    import 'whatwg-fetch'
    
    
    class SignUpPage extends React.Component {
    
        constructor(props) {
            super(props);
    
            this.state = {
                errors: {},
                user: {
                    email: '',
                    name: '',
                    password: ''
                }
            };
        }
    
        /**
         * Change the user object.
         *
         * @param {object} e - the JavaScript event object
         */
    
        changeUser = (e) => {
            const field = e.target.name;
            const user = this.state.user;
            user[field] = e.target.value;
    
            this.setState({
                user
            });
        };
    
        /**
         * Handles processForm event and submits request to server.
         * @param e
         */
        processForm = (e) => {
            e.preventDefault();
            const form = document.querySelector('form');
            const formData = new FormData(form);
    
            fetch('/api/signup', {
                method: 'POST',
                body: formData
            }).then(response => {
                if (response.ok) {
                    this.setState({
                        errors: {}
                    });
                }
                else {
                    // returned > 300 status code
                    response.json().then(j => {
                        const errors = j.errors ? j.errors : {};
                        errors.summary = j.message;
                        this.setState({
                            errors: errors
                        })
                    })
                }
            })
        };
    
    
        /**
         * Render the component.
         */
        render() {
            return (
                <SignUpForm
                    onSubmit={this.processForm}
                    onChange={this.changeUser}
                    errors={this.state.errors}
                    user={this.state.user}
                />
            );
        }
    
    }
    
    export default SignUpPage;
    
    =
    匿名函数上的
    =
    签名是错误的?这是我的
    .eslintrc.json

    {
      "plugins": [
        "react"
      ],
      "settings": {
        "react": {
          "createClass": "createClass", // Regex for Component Factory to use, default to "createClass"
          "pragma": "React",  // Pragma to use, default to "React"
          "version": "15.0" // React version, default to the latest React stable release
        }
      },
      "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 6,
        "ecmaFeatures": {
          "jsx": true
        }
      },
      "extends": ["eslint:recommended", "plugin:react/recommended"],
      "env": {
        "browser": true
      }
    }
    

    好的,我好像已经修好了。当我意识到我的JSX spread操作符不能正常工作后,我用npm I安装了
    babel eslint
    ——保存dev babel eslint。这让我觉得所有的ES6都搞砸了。因此,现在我刚刚添加了
    babel eslint
    解析器,并在我的
    .eslintrc.json
    文件末尾添加了
    “parser”:“babel eslint”
    ,一切都很好!我猜默认的eslint解析器不支持这些功能…

    好的,我似乎已经修复了它。当我意识到我的JSX spread操作符不能正常工作后,我用npm I安装了
    babel eslint
    ——保存dev babel eslint。这让我觉得所有的ES6都搞砸了。因此,现在我刚刚添加了
    babel eslint
    解析器,并在我的
    .eslintrc.json
    文件末尾添加了
    “parser”:“babel eslint”
    ,一切都很好!我猜默认的eslint解析器不支持这些功能…

    你说得对,这是有效的语法。我已经删除了我的答案你是对的,这是有效的语法。我删除了我的答案真的有效,我做了一些改变来提高阅读你的决议真的有效,我做了一些改变来提高阅读你的决议
    {
      "plugins": [
        "react"
      ],
      "settings": {
        "react": {
          "createClass": "createClass", // Regex for Component Factory to use, default to "createClass"
          "pragma": "React",  // Pragma to use, default to "React"
          "version": "15.0" // React version, default to the latest React stable release
        }
      },
      "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 6,
        "ecmaFeatures": {
          "jsx": true
        }
      },
      "extends": ["eslint:recommended", "plugin:react/recommended"],
      "env": {
        "browser": true
      }
    }