#reactjs #eslint
#reactjs #eslint
Вопрос:
У меня есть вызов функции, который использует необязательную цепочку
const index = [1, 2, 3, 4]
media.name?.forEach((m) => {
if (index.includes(m)) {
console.log('Found index');
}
});
ESLint отображает предупреждение для этой строки как:
Expected an assignment or function call and instead saw an expression no-unused-expressions
Я проверил эту проблему здесь. Как они указали в конце, проблема была закрыта, и no-unused-expressions
правило будет поддерживать необязательную цепочку.
Почему я все еще вижу это предупреждение в своем коде?
Мой конфигурационный файл eslint:
{
"env": {
"browser": true
},
"extends": [],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2020,
"sourceType": "module"
},
"plugins": ["react-hooks", "react"],
"rules": {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"linebreak-style": ["error", "windows"],
"react/prop-types": 0
}
}
Комментарии:
1. Отредактировал вопрос
2. Во-первых, что именно
media.name
это такое? Это массив? Во-вторых, откуда берется этаname
переменная вif
операторе? Пожалуйста, разместите весь ваш соответствующий код.3. @zhulien Я не думаю, что это имеет значение, если кода в вопросе достаточно, чтобы продемонстрировать вопрос, о котором спрашивают
4. Я отредактировал код в вопросе, однако, как сказал @CertainPerformance, я не думаю, что код внутри имеет значение. Проблема заключается в использовании метода после того, как необязательная переменная цепочки вызовет это предупреждение.