Сообщение об ошибке: «индекс» определен, но никогда не используется. (Нет-неиспользованных-варов) - PullRequest
0 голосов
/ 09 сентября 2018

Устанавливаю eslint & eslint-plugin-реагировать.

Когда я запускаю ESLint, linter возвращает ошибки no-unused-vars для каждого компонента React.

Я предполагаю, что он не распознает, что я использую синтаксис JSX или React. Есть идеи? enter image description here

это мой код -

Ответы [ 3 ]

0 голосов
/ 09 сентября 2018
 handleSelectAll = () => {
    const { users } = this.props.users
    this.setState((prevState) => {
      const newState = { ...prevState }
      newState.selects = []
      users.forEach(user => {
        newState.selects.push(!prevState.selectedAll)
      });
      newState.selectedAll = !prevState.selectedAll
      return newState
    })
  }

"message: 'Ожидаемые круглые скобки вокруг аргумента функции стрелки. (Arrow-parens)"

0 голосов
/ 09 сентября 2018

Как уже объясняется в другом ответе, правило no-unused-vars вызывает ошибку линтера, поскольку параметр index не используется. Может быть опущено:

users.forEach(user => {
  /* ... */
});

Если по какой-то причине параметр временно не используется, но ожидается, что он будет использован позже, или он необходим для правильной функциональности (это не относится к forEach), его можно пометить как неиспользуемый (условно, подчеркнутые параметры рассматриваются как таковые ):

users.forEach((user, _index) => {
  /* ... */
});

Expected parentheses around arrow function argument ошибка linter означает, что он был настроен на принудительное использование необязательных скобок в функциях со стрелкой с arrow-parens rule . Это можно изменить, отключив это правило или добавив скобки:

users.forEach((user) => {
  /* ... */
});

Последний вариант может быть предпочтительнее, поскольку принудительные скобки со стрелками более согласованы .

0 голосов
/ 09 сентября 2018

В вашем кодовом блоке

users.forEach((user, index) => { ... }) 
                     ^^^^^

вы никогда не используете параметр index, что делает его бесполезным. Вот почему ESLint жалуется - по праву.

Вместо того, чтобы идти

users.forEach((user) => { ... }) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...