Animated.Value 的道具类型?

PropTypes for Animated.Value?

我在父级定义了动画值如下

const scrollY = new Animated.Value(0);

console.log(scrollY); // 0;
console.log(typeof scrollY); // object;

然后我需要将这个值传递给我的组件,如下所示

<ChildComponent animatedValue={scrollY} />

现在我想知道,在 ChildComponent,我的道具 animatedValue 的正确道具类型应该是什么?

ChildComponent.propTypes = {
  animatedValue: PropTypes.number.isRequired
};

如果我定义为 PropTypes.number 我会收到警告,这是有道理的,因为 typeof scrollY 是对象。

但由于 eslint 错误,我们无法在下面定义,对于对象,我们应该使用 PropTypes.shape, 但是我不知道应该设置什么形状?

ChildComponent.propTypes = {
  animatedValue: PropTypes.object.isRequired // eslint error
};

您可以检查传递的对象是否是 class

的实例
PropTypes.instanceOf(Animated.Value)