Búsqueda de sitios web

javascript - Cómo obtener el valor de AnimatedInterpolation


Mi pregunta es cómo recuperar el valor de un AnimatedInterpolation en react-native, sin llamar a código privado.

Creo el valor animado y lo envuelvo en una interpolación así:

  animated = new Animated.Value();
  interpolated = this.animated.interpolate({
    inputRange:[0, 1000],
    outputRange:[0, 500]
  })

Yo renderizo la animación así:

  <Animated.View style={[{width: this.interpolated}]}/>

Y recupero el valor animado así:

  this.animated.stopAnimation(v => {
    console.log(v, " ", this.interpolated.__getValue());
  })

Ejemplo ejecutable aquí.

Mi problema es que __getValue() es un miembro privado de AnimatedInterpolation y da un error al usar TypeScript. Estoy buscando una forma segura de obtener el valor, de manera similar a cómo this.animated.stopAnimation es más seguro que this.animated.__getValue().

Respuesta #1

Puedes añadir un oyente a interpolated para obtener el valor -

    interpolated.addListener(({value}) => {
      console.log('interpolated', value)
    });

Luego puedes usarlo con variables o con cualquier cosa.

Artículos relacionados