我在父级上定义了“动画值”
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
};
答案 0 :(得分:2)
您可以检查传递的对象是否是类的实例
PropTypes.instanceOf(Animated.Value)