Выходное значение React Native Reanimated из Animated.interpolate

Я понимаю Animated.Code и получаю console.log в каждом кадре

я хочу узнать значение выходного тока из Animated.interpolate

кусок кода

 const diffClampScrollY = Animated.diffClamp(this.props.Animation_Header_Heaght, 0, HEADER_HEIGHT)

    const headerY = Animated.interpolate(diffClampScrollY, {
        inputRange: [0, HEADER_HEIGHT],
        outputRange: [0, -HEADER_HEIGHT],
    })
render(){
   return(
    <Animated.Code>
       {() =>
         call([headerY], () => {
         console.log(headerY)
       })
    </Animated.Code>
  )
 }

я не понимаю объект из console.log(headerY)

и я хочу узнать единичное текущее значение?

1 ответ

Поместите это в свой блок Animated.Code;

{() => отладка ('headerY: ', headerY)}

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

call(argsNodes, callback)согласно реанимированной документации, если один из узлов из массива argsNodes обновляется, обратный вызов будет вызываться в JavaScript со списком текущих значений узлов из массива argsNodes в качестве первого аргумента. Чтобы утешить ценность headerY, вам нужно передать его как параметр функции обратного вызова, чтобы получить к нему доступ следующим образом:

  ...
    <Animated.Code>
       {() =>
         call([headerY], ([headerY]) => {
         console.log(headerY)
       })
    </Animated.Code>
Другие вопросы по тегам