ESLint должен использовать присвоение состояния разрушения - PullRequest
0 голосов
/ 04 октября 2018

привет, я получаю сообщение об ошибке 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 Ответ

0 голосов
/ 04 октября 2018

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

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

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

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

      ...
      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>
        ))
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...