Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2019, 10:31
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Как правильно добавить/удалить элемент в массив (из массива)?
Здравствуйте. Подскажите, пожалуйста, как правильно реализовать следующe логику:
import React  from 'react'

class App extends React.Component {
  constructor(props) {
    super(props);

    this.list = [];

    this.items = [
      { id: 1, value: 'item 1' },
      { id: 2, value: 'item 2' },
      { id: 3, value: 'item 3' },
      { id: 4, value: 'item 4' },
      { id: 5, value: 'item 5' },
      { id: 6, value: 'item 6' },
      { id: 7, value: 'item 7' },
      { id: 8, value: 'item 8' }
    ];
  }

  setDataLocalStorage = (item) => {
    this.list.push(item.id);

    console.log(this.list);
  }

  render() {
    return (
      <React.Fragment>
        {
          this.items.map((item, index) => {
            return (
              <ul
                className=""
                key={index}
              >
                <li
                  onClick={() => this.setDataLocalStorage(item)}
                >
                  { item.value }
                </li>
              </ul>
            );
          })
        }
      </React.Fragment>
    )
  }
}

export default App;

В данный момент при click на элемент, я записываю значения в массив.
Мне необходимо при повтрном click на элемент, удалять его из масса (если он там есть). Также по тому же принципу добавлять/удалять class на элементе. Т.е. я click на элемент - добавился класс на элементе и записалось значение в массив, и также другие элементы. Если я click, и id этого элемента уже есть в массиве, удаляю с него класс и его id с массива.
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2019, 12:00
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Код https://codesandbox.io/s/2pzqxm0k0y

Пример https://2pzqxm0k0y.codesandbox.io/
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2019, 12:15
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Спасибо за помощь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно прописать массив? dee3000 Серверные языки и технологии 11 09.07.2015 06:22
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
Как правильно очищать массив? javacrypt Общие вопросы Javascript 4 16.03.2015 12:28
Массив как часть параметра diprom Javascript под браузер 3 21.09.2011 00:08
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14