Анимация с нулевой высоты до динамической высоты назначения в фиксированное время с помощью react native

#react-native-web

Вопрос:

Этот вопрос отличается от некоторых аналогичных вопросов тем, что я хочу перейти от 0 к высоте, которая будет определяться nativeEvent.расположение.высота — если она не анимировалась — в течение, скажем, 500 мс.

Это работает в Интернете. На устройстве iOS он получает меньшую, чем конечная высота, высоту от события макета, потому что анимация не завершена

Прямо сейчас я получаю целевую высоту из собственного макета событий и запускаю анимацию на высоту макета, как только это происходит, это приводит к появлению нескольких анимаций, которые обеспечивают заданную высоту, но уже не за 500 мс, а скорее за несколько секунд.

 Animated.timing(
          cardHeight[index],
          {
            toValue: newHeight,
            duration: 500,
            useNativeDriver: false
          }
        ),
 

Что я хотел бы сделать, так это использовать что-то вроде высоты прокрутки или внутренней высоты элемента, которая остается неизменной независимо от ее фактической высоты, но это, очевидно, недоступно на устройстве.

Ответ №1:

Мой ответ состоял в том, чтобы поместить содержимое, высоту которого нужно измерить, используя событие макета, в представление прокрутки, а затем выполнить событие в содержимом представлений прокрутки.