Обнаружение, когда Swipable Mounts, поэтому может сделать начальную подсказку движения
Я пытался сделать подсказку движения на креплении Swipeable - https://kmagiera.github.io/react-native-gesture-handler/docs/component-swipeable.html
Что я делаю прямо сейчас, это получаю ref
к Swipeable
тогда я звоню ref.openRight()
тогда setTimeout(ref.close, 300)
. Однако я не могу этого сделать, покаSwipeable
монтирует. Я думал, что реф. Должен срабатывать, когдаSwipable
монтирует, поэтому я поместил туда этот код открытия / закрытия, но это слишком рано. Вот мой код:
import Swipeable from 'react-native-gesture-handler/Swipeable';
class MySwipeable {
didInitiallyBounce = false;
sRef = n => {
if (!this.didInitiallyBounce && n) {
this.didInitiallyBounce = true;
n.openRight();
setTimeout(() => n.close(), 300);
}
}
render() {
return <Swipeable ref={this.sRef} />
}
}
Так что это не работает, потому что это происходит слишком рано. Есть идеи, как это сделать?
Я нашел хакерский способ сделать это, чтобы посмотреть состояние:
if (!this.didInitiallyBounce && n) {
this.didInitiallyBounce = true;
const doit = () => {
if (n && n.state.rowWidth) {
n.openRight();
setTimeout(() => n.close(), 300);
} else {
setTimeout(doit, 16);
}
}
doit();
}
Что это значит, он ждет n.state.rowWidth
перейти от неопределенного к числу. Затем он делает анимацию. Это работает, но это взломано.
Есть идеи получше?