不翻译视图的值集的最基本示例

Most basic example of set of value not translating view

我正在使用 react-native-reanimated v1。我正在做一个非常简单的测试,一个视图最初安装在 50 的平移 y 处,然后一个 useEffect I set(val, 400) 使它移动得更多。但事实并非如此。这是问题的一点点,代码如下 - https://snack.expo.io/@saab/set-value-not-moving-view

有谁知道为什么对重新激活的值进行设置不会更新位置?

import React, { useEffect } from 'react';
import { View } from 'react-native';
import Reanimated from 'react-native-reanimated';

export default function App() {
  return <OtherView />;
}

function OtherView() {
  const val = Reanimated.useValue(50);

  React.useEffect(() => {
    Reanimated.set(val, 400);
  }, [val]);

  return (
    <Reanimated.View
      style={{
        backgroundColor: 'steelblue',
        height: 100,
        width: 100,
        transform: [{ translateY: val }],
      }}
    />
  );
}

https://docs.swmansion.com/react-native-reanimated/docs/1.x.x/value/

来自文档:

const v = useValue(0);
/// ...
v.setValue(100);

所以你应该改变:

Reanimated.set(val, 400);

至:

  val.setValue(400);