Показать сообщение отдельно
  #1 (permalink)  
Старый 26.05.2019, 13:36
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 112

Смена значения propName
Подскажите такой момент, есть поле из 10 кнопок.

С интервалом в 2 секунды загорается одна из кнопок синим цветом
const id = Math.floor(Math.random()*10) + 1;
onToggleColor(state.buttons, id, 'blue')

const onToggleColor = (data, id, propName) => {
 return data.map((item) => {
    if (item.id !== id) {
    	return item
    }
    return {
      ...item,
      [propName]: !item[propName]
    }
  })
};


Как сделать, что бы если рандомное число выпавшее уже на кнопку(число = id), которая горит синими, не меняла ее propName на противоположный, а оставляло его таким как есть, а вместо этого генерировало следующее число, где propName еще не менялся, а то в этом случае если кнопка горит уже синим, и снова рандом попадает на этот id он меняет обратно на белый цвет, а нужно что б не менял, а менял только тот, который еще не окрасился
Ответить с цитированием