Size: a a a

React: русскоязычное сообщество

2020 July 08

dv

dev ved in React: русскоязычное сообщество
мне еще поможет если я при нажатии на кнопку буду не просто обновлять состояние компонента и делать его пересоздание (как при перезагрузке страницы, кстати если перезагружать страницу все как надо работает) но я как понял это не правильно в react так делать
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Ну, если я все правильно понял, нужно сделать еще одно свойство: isAnimationComplete и на него подвязаться (первым блоком):
if (this.state.isAnimationComplete) {
 return null
}
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
А на <AnimatedImage ... /> добавить коллбэк `onAnimationEnd`👍

<AnimatedImage onAnimationEnd={() => this.setState({ isAnimationComplete: true })} />
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Соответственно, когда картинка закончит анимацию, будет вызван этот коллбэк, который переведет компонент в пустое состояние.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Т.е. на его месте в DOM-е не будет ничего.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Но вот логику с миганием картинки, да еще и с бэкэнда я не уловил.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Как это сейчас реализовано?
источник

dv

dev ved in React: русскоязычное сообщество
Юра Чеботаев
Но вот логику с миганием картинки, да еще и с бэкэнда я не уловил.
можно тебе в лс написать что бы не засорять ?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
В группе норм. Она для того и есть.
источник

dv

dev ved in React: русскоязычное сообщество
ок
источник

РК

Родион Кухтий... in React: русскоязычное сообщество
может это реализовано, как подгрузка изображений?
источник

dv

dev ved in React: русскоязычное сообщество
Юра Чеботаев
В группе норм. Она для того и есть.
пишу
источник

dv

dev ved in React: русскоязычное сообщество
Родион Кухтий
может это реализовано, как подгрузка изображений?
всм?
источник

dv

dev ved in React: русскоязычное сообщество
при нажатии на кнопку идет запрос через axios на бэк, оттуда возвращается json, примерно такого вида:

imgs : {
  row_0: {
      img1: image1.jpg,
      img2: image2.jpg,
      img3: image3.jpg,
      img4: image4.jpg
  }
 row_1: {
      img1: image1.jpg,
      img2: image2.jpg,
      img3: image3.jpg,
      img4: image4.jpg
  }
}
animate: {
 row_1: {
      img1: image1.jpg,
      img2: image2.jpg,
      img3: image3.jpg,
      img4: image4.jpg
  }

}
и тут я понимаю что мне нужно выстроить из картинок красивую плитку, разместить в первом поле картинки в порядке row_0 (img1: image1.jpg,
      img2: image2.jpg,
      img3: image3.jpg,
      img4: image4.jpg)

ну и в остальных по аналогии, в итоге получится плитка из картинок

потом я паршу то что в animate, и проверяю, если у меня row_1_img1_image1.jpg присутствует в плитке, то нужно анимировать так сказать (я там выше скрин кидал, вот это оно)
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Тогда мой рецепт может помочь. Попробуйте.
источник

dv

dev ved in React: русскоязычное сообщество
Юра Чеботаев
Ну, если я все правильно понял, нужно сделать еще одно свойство: isAnimationComplete и на него подвязаться (первым блоком):
if (this.state.isAnimationComplete) {
 return null
}
да, в процессе, спс
источник

dv

dev ved in React: русскоязычное сообщество
Юра Чеботаев
Тогда мой рецепт может помочь. Попробуйте.
теперь на месте анимационных элементов (после анимации) просто черные квадраты (получается компонент то удалился, но вместо него ничего не замещено) в итоге на выходе картинки в виде плитки, мигнула картинка 1,2 из 20 и просто удалилась оставив после себя пустое место,  извини что беспокою, хочу просто сделать что бы оно уже хоть как то заработало, если это такая сложная тема, есть вообще где то какой то пример что бы хотя бы понять как другие это делают? мне в одном чате сказали что это напоминает слот машины, где тоже идет рандомное размещение изображений и если тип картинки совпали они тоже там анимируются или еще че то делается, но я даже хз где эти слот машины гуглить =)
источник

dv

dev ved in React: русскоязычное сообщество
я вот только что погуглил, сдается мне это по другому называется
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Есть, например, masonry, в т.ч. и для реакта.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
источник