ESLint Должно использовать назначение состояния деструктуризации

Я получаю сообщение об ошибке ESlint для следующей строки this.state.items.map(item => (

Ошибка Must use destructuring state assignment

{
            this.state.items.map(item => (
              <div key={item}>
                {
                item.links.map(thing => (
                  <NavLink
                    key={thing.link.id}
                    exact
                    to={thing.link.url}
                  >
                    {thing.link.text}
                  </NavLink>
                ))
                }
              </div>
            ))
          }

Я использую "eslint-config-airbnb"

Кроме того, это моя функция componentDidMount, если это связано

componentDidMount() {
  fetch('./data/data_arr.js')
  .then(results => results.json())
  .then(results => this.setState({ items: results }));
}

Любая помощь, чтобы попытаться понять это было бы здорово. благодарю вас

Ответы

Ответ 1

Это называется:

Обеспечить последовательное использование присвоения реквизита реквизита, состояния, и контекст (реакция/деструктуризация-назначение)

Более подробная информация доступна здесь: деструктуризация-назначение

Чтобы это предупреждение/ошибка исчезли, вы можете сделать следующее:

      ...
      const { items }= this.state;
      ...
      {
        items.map(item => (
          <div key={item}>
            {
            item.links.map(thing => (
              <NavLink
                key={thing.link.id}
                exact
                to={thing.link.url}
              >
                {thing.link.text}
              </NavLink>
            ))
            }
          </div>
        ))
      }