Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.10.2020, 17:24
Новичок на форуме
Отправить личное сообщение для alvovich09 Посмотреть профиль Найти все сообщения от alvovich09
 
Регистрация: 19.10.2020
Сообщений: 2

Извлечь объект из массива и использовать ключ и значение
Всем привет! Столкнулся с такой задачей по курсу React. Нужно извлечь объект из массива и использовать пару ключ-значение. Ключ как уникальный key и значение как value для создания элемента. Хотел использовать _get из lodash, но не получается. Вопрос касается не react, а именно JS, поэтому задаю вопрос здесь.

class Component extends React.Component {
  constructor(props) {
      super(props);
    this.state = {
      value: 0,
      logs: []
    };
   }
  
  increment = () => {
   const { value, logs } = this.state; 
     const currentNumber = value + 1;
     const uniqKey = _.uniqueId();
     this.setState({ value: currentNumber, logs: [{ [uniqKey]: currentNumber}, ...logs] });
 };

 decrement = () => {
   const {value, logs } = this.state;
     const currentNumber = value - 1;
     const uniqKey = _.uniqueId();
     this.setState({ value: currentNumber, logs: [{ [uniqKey]: currentNumber}, ...logs] });
 };

  removedItem = (uniqKey) => (e) => {
     e.preventDefault();
     const newLogs = this.state.logs.filter(log => log.uniqKey !== uniqKey);
     this.setState({ logs: newLogs });
   };
  
  render() {
    const { value, logs } = this.state;
    return (
        <div>
        <div className="btn-group" role="group">
        <button type="button" className="btn hexlet-inc" onClick={this.increment}>+</button>
        <button type="button" className="btn hexlet-dec" onClick={this.decrement}>-</button>
    </div>
      { logs.length > 0 &&
      <div className="list-group">
     {logs.map(_.get(log) => <button type="button" onClick={this.removedItem(uniqKey)} className="list-group-item list-group-item-action" key={uniqKey}>{log}</button>)}
      </div>}
    </div>
    );
  } 
}
Ответить с цитированием
  #2 (permalink)  
Старый 19.10.2020, 18:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от alvovich09
Нужно извлечь объект из массива и использовать пару ключ-значение.
Вы лучше по-русски вопрос задайте, а то что вы хотите не ясно.
Ответить с цитированием
  #3 (permalink)  
Старый 19.10.2020, 18:52
Новичок на форуме
Отправить личное сообщение для alvovich09 Посмотреть профиль Найти все сообщения от alvovich09
 
Регистрация: 19.10.2020
Сообщений: 2

Задачу решил. Тему можно удалить.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Значение из input нужно использовать в функции SaitamaSensey Events/DOM/Window 1 24.07.2019 08:13
Как использовать строковую переменную чтобы выбрать имя переменной массива? новый вася Events/DOM/Window 2 09.12.2016 23:48
Можно ли использовать значение из localstorage в PHP smart-create Events/DOM/Window 12 07.11.2016 02:54
Динамическое значение (например длину массива) запись в постоянное Vulkan Общие вопросы Javascript 14 17.06.2010 16:13
Извлечь значение параметра из location.search регулярным выражением? Бобр Общие вопросы Javascript 8 26.01.2010 01:01