প্রতিক্রিয়া সহ ESLint `না-অব্যবহৃত-বর্ণ ত্রুটি দেয়


91

আমি সেটআপ করেছি eslint& eslint-plugin-react

আমি যখন ইএসলিন্ট চালনা করি, তখন no-unused-varsপ্রতিটি রেঅ্যাক্ট উপাদানগুলির জন্য লিন্টার ত্রুটিগুলি প্রদান করে।

আমি ধরে নিচ্ছি যে এটি জেএসএক্স বা প্রতিক্রিয়া সিনট্যাক্স ব্যবহার করছি তা স্বীকৃতি দিচ্ছে না। কোন ধারনা?

উদাহরণ:

app.js

import React, { Component } from 'react';
import Header from './header.js';

export default class App extends Component {
  render() {
    return (
      <div>
        <Header />
        {this.props.children}
      </div>
    );
  }
}

লিন্টার ত্রুটিগুলি:

/my_project/src/components/app.js
  1:8  error  'React' is defined but never used   no-unused-vars
  2:8  error  'Header' is defined but never used  no-unused-vars

আমার .eslintrc.jsonফাইলটি এখানে :

{
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true,
            "jsx": true
        },
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
        "indent": [
            "error",
            2
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "always"
        ]
    }
}

আপনি Reactএটি ব্যবহার না করার সময় আমদানি করছেন , আপনি কেবল ব্যবহার করছেন Component, যা সঠিকভাবে আমদানি করা হয়েছে।
GMaiolo

এটি বোধগম্য - তবে কেন Headerত্রুটি থাকবে? (আপনাকে আসলে প্রতিক্রিয়া আমদানি করতে হবে, অন্যথায় যখন জেএসএক্স ট্রান্সপ্লায়েন্ট হয়ে যায় তখন এটি একটি ত্রুটি দেয়)
ডন পি

এখনই এটি হওয়া উচিত নয়। আপনার এসলিন্ট সংস্করণ কি? github.com/eslint/eslint/issues/1905
ড্যানিলোপ্রেটস

উত্তর:


182

প্রথমে নিম্নলিখিত মডিউলটি ইনস্টল করুন npm install --save-dev eslint-plugin-react

তারপরে, আপনার .eslintrc.jsonনীচে extends, নিম্নলিখিত প্লাগইনটি অন্তর্ভুক্ত করুন:

'extends': [
    'plugin:react/recommended'
]

উৎস


4
দুর্দান্ত উত্তর O অবশ্যই আপনার প্রথমটি করা উচিত (এনপিএম ইনস্টল - সেভ-ডেভ এসলিন্ট-প্লাগইন-প্রতিক্রিয়া)
স্কাইবক্স

আপনার যদি এয়ারবিএনবি ব্যবহার হয় তবে কী হবে? আমি এর আগে 'প্লাগইন: প্রতিক্রিয়া / সুপারিশকৃত' যুক্ত করার চেষ্টা করেছি তবে এটি কার্যকর হয়নি: ["প্লাগইন: প্রতিক্রিয়া / সুপারিশকৃত", "এয়ারবিএনবি", "এয়ারবিএনবি / হুকস", "প্লাগইন: প্রতিক্রিয়া-রিডেক্স / প্রস্তাবিত", "প্লাগইন : প্রিটিয়ার / সুপারিশকৃত "," প্রিটিয়ার /
রিএ্যাক্ট


60

react/recommendedইনস্টল থেকে নতুন নিয়ম যুক্ত না করেই এই সমস্যাটি সমাধান করার জন্য eslint-plugin-react:

npm install eslint-plugin-react --save-dev

যুক্ত করুন .eslintrc.js:

"plugins": ["react"]

এবং:

"rules": {   
     "react/jsx-uses-react": "error",   
     "react/jsx-uses-vars": "error" 
}

14

গুগল করার সময় যেহেতু আমি এটি পেয়েছি তাই আপনার জানা উচিত যে এই সাধারণ বার্তাটি এই বার্তাটি রোধ করার জন্য যথেষ্ট:

react/jsx-uses-react

react/recommendedনিয়ম সেট যোগ অন্যান্য অনেক নিয়ম আপনি চান না হতে পারে।


7

আমার ক্ষেত্রে আপনার যুক্ত করতে হবে .eslintrc.js:

'extends': [
    'plugin:react/recommended'
]

এছাড়াও প্র্যাক্ট আমদানি থেকে মুক্তি পাওয়ার জন্য একটি নির্দিষ্ট টুইট করা: import { h } from 'preact'তবে আপনি আপনার নির্দিষ্ট সতর্কতা থেকে মুক্তি পেতে এই উদাহরণটি ব্যবহার করতে পারেন:

    "no-unused-vars": [
        "error",
        {
            "varsIgnorePattern": "^h$"
        }
    ],

4

দ্রুততম ঠিক করা

সমস্ত শিরোনাম কেস ভেরিয়েবল উপেক্ষা করতে, আপনার ESLint কনফিগারেশনে এটি যুক্ত করুন:

{
    "rules": {
        "no-unused-vars": [
            "error",
            {
                "varsIgnorePattern": "^[A-Z]"
            }
        ]
    ]
}

সঠিক সমাধান

প্রতিক্রিয়াশীল ভেরিয়েবলগুলি উপেক্ষা করতে এস্লিন্ট-প্লাগইন-প্রতিক্রিয়া ব্যবহার করুন ।

npm install eslint-plugin-react -D

এটি আপনার ESLint কনফিগারেশনে যুক্ত করুন:

{
    "plugins": [
        "react"
    ],
    "rules": {
        "react/jsx-uses-vars": "error",
        "react/jsx-uses-react": "error"
    }
}

প্রস্তাবিত ঠিক করা

ব্যবহারের eslint-plugin-প্রতিক্রিয়া শুধু এই ত্রুটি নীরবতা আপনার JSX ব্যবহার উন্নত করতে।

npm install eslint-plugin-react -D

এটি আপনার ESLint কনফিগারেশনে যুক্ত করুন:

{
    "extends": [
        "plugin:react/recommended"
    ]
}

আপনি ব্যবহার করেন তাহলে XO , পড়ুন eslint-কনফিগ-XO-প্রতিক্রিয়া


-1

আপনি যদি প্রকল্পটি npm run ejectক্রিয়েট-রিএ্যাক্ট -অ্যাপ্লিকেশন সিএলআইয়ের মাধ্যমে তৈরি করেন তবে আপনি প্যাকেজটি সম্পাদন করতে পারেন এবং জাজান "এসলিন্টকনফিগ" ফিল্ডটি এইরকম করতে পারেন:

`"eslintConfig": {
    "extends": "react-app",
    "rules": {
      "eqeqeq": "off",
      "no-unused-vars": "off",
    }
  },`

এসলিন্টটি বন্ধ হয়ে যাবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.