Anton
последнее время
Anton
было у кого так?
Egor
Application loader
Yuriy
чувак - победитель по жизни
Vit
Ни одного дроп-фрейма)
Anonymous
Anonymous
we need to go deeper
Anonymous
че та я не врубаюсь в простую вещь, сделал анимацию которая крутит иконку и все клево работает, а как мне теперь и самое главное как обратится при онклике к какому-то элементу и заставить его проигрывать анимацию?
Anonymous
нашел какие то рефы которые задают свойство компонента через анонимную функцию
Anonymous
это в ту сторону?
⩔wein
это в ту сторону?
Смотри на Animated
Anonymous
да я уже все сделал, анимация работает
Anonymous
теперь хочу связать ее с событием
Anonymous
а не просто крутить
Anonymous
не понятно как эта связь происходит
⩔wein
всмысле?
Anonymous
всмысле нажал кнопку, в другом месте че-нидь покрутилось
⩔wein
сделай функцию в которой вызывается Animated.start()
⩔wein
всмысле нажал кнопку, в другом месте че-нидь покрутилось
я обычно тригерю анимацию при обновлении пропсов через редакс
Anonymous
это для меня черная магия
Anonymous
редакс флюкс мобх
Anonymous
мне че-нидь потупее
⩔wein
ну какая разница. подход с редаксом просто упрощает проброс данных из одной части приложения в другое
Anonymous
это типа евентбаса?
⩔wein
редакс это стейт-менеджмент. у тебя есть хранилище, доступ к которому можно получить из любого компонента. хранилище рид-онли. изменяется только с помощью вызова экшенов. если какой то компонент берет из хранилища данные, то когда данные обновляются - компонент тоже обновляется
⩔wein
но не суть, если у тебя нет редакса то все можно сделать без редакса без проблем
⩔wein
делаешь функцию в которой у тебя стартует анимация
Anonymous
короче это какой то синглтон с методами ;D
⩔wein
пробрасываешь ее через пропсы
⩔wein
и вызываешь по нажатию кнопки
Anonymous
так, вот момент пробрасывать через пропсы мне не понятен
Anonymous
остальное понятно
Anonymous
я реакт нейтив первый день смотрю если что
Anonymous
поэтому такие тупые вопросы)
⩔wein
короче это какой то синглтон с методами ;D
не. там не глобальный обьект, он не доступен в открытую всему приложению. и кроме того он immutable. т.е. там данные не могут менятся
⩔wein
я реакт нейтив первый день смотрю если что
а обычный реакт тож первый день?
Anonymous
вообще никогда не использовал
⩔wein
ну. про пропсы ты вообще представляешь?
⩔wein
что это и как работает?
Anonymous
да у меня уже есть пропсы
Anonymous
state = { rotateAnim: new Animated.Value(0), }
Anonymous
меня интересует только 1 вопрос
Anonymous
Всем привет. Кто нибудь использовал реакт натив видео?
Anonymous
у меня есть <Animated.Image/>, как мне конкретно сказать что анимацию нужно в нем крутить и в определенном свойстве transform
Anonymous
событие клика есть, анимация есть
Anonymous
в доках тупо не вижу такого примера
⩔wein
мм
Дмитрий
https://twitter.com/reactdaily/status/882263242504122372
Anonymous
сейчас пример<Animated.Image style={[toolbarStyles.refresh, {transform: [{rotate: this.rotateAnim}]}]} source={require('../img/refresh/ic_refresh_white.png')}/>
Anonymous
оно тупо крутится на старте
Anonymous
по понятным причинам
⩔wein
state = { fadeAnim: new Animated.Value(0), } Animated.timing( // Animate value over time this.state.fadeAnim, // The value to drive { toValue: 1, // Animate to final value of 1 } ).start(); <Animated.Image style={{opacity: this.state.fadeAnim}}/>
Anonymous
ага, надо его связать со стейтом
Anonymous
значит
Anonymous
так, еще один тупой вопрос есть
Anonymous
Anonymous
мне дает реакт такую логичную ошибку, что начальное значение это число, а в ротейте нужны градусы
Anonymous
соответственно проблема тут rotateAnim: new Animated.Value(0),
Anonymous
если например `const spin = this.state.rotateAnim.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] })` подставить в статической анимации то оно работает, видимо сразу значение подменяется на '0deg'
⩔wein
так вроде у тебя правильное решение
⩔wein
const spin = this.state.rotateAnim.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] }) <Animated.Image style={{transform: [{rotate: spin}] }} />
Anonymous
так это не на событие
Anonymous
а просто крутить)
Anonymous
ладно че то я уже запутался, завтра подумаю
⩔wein
так это не на событие
нет. ты запускаешь анимацию по Animated.start()
⩔wein
то что выше - просто интерполяция
Vit
Самое что смешное что в вебовском реакте так и нет норм анимации) смотрят на нэйтив и завидуют))
Anonymous
ясно, тогда остался только 1 вопрос, как мне обратится к animate(), а то ошибку undefined дает
Anonymous
Anonymous
не мастер жса, думаю где то банальный косяк
Anonymous
underfined is not a function ;D
Vit
В конструкторе this.animation.bind(this) ?
Anonymous
нету конструктора, он тут нужен?
Anonymous
и animation - нету такого свойства или метода
Anonymous
мне просто в рефреше надо вызвать animate и все будет работать
Vit
={this.animate.bind(this)}
Anonymous
Anonymous
same shit