@nikmil

Почему реакт обновляет состояние картинок одновременно если оно у всех одинаковое?

Добрый вечер, подскажите пожалуйста, у меня есть 2 картинки gif - start и stop.
Их импортирую ->
import start from '../../img/start.gif';
import stop from '../../img/stop .gif';

В пропах у меня указано ->
array: [
                {name: 'user1',  animation: false},
                {name: 'user2',  animation: true}
            ],

Данная картинка у меня находится в map и чтобы они заменяли друг друга я использую ->
{this.state.array.map((e, index) => {
i = 'animation' + index
return (
<div key={i} .....
     <img src={e.animation ?  start : stop}  width="20" height="20"/>
</div>
)
})}


Картинки при измении boolean изменяются, но если будет true и true(или false и false), то обе картинки перезагрузяться одновременно, как это избежать?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
IceRD
@IceRD
let products = [...this.state.animation];
//ваш код
this.setState({products});

Не меняйте state напрямую
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы