【问题标题】:PropTypes for Animated.Value?Animated.Value 的 PropTypes?
【发布时间】:2019-12-19 06:47:12
【问题描述】:

我在父级定义动画值如下

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
};

【问题讨论】:

  • 我通常只使用 PropTypes.object 并忽略 eslint 错误

标签: javascript reactjs react-native react-proptypes react-animated


【解决方案1】:

您可以检查传递的对象是否是类的实例

PropTypes.instanceOf(Animated.Value)

【讨论】:

    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 2017-06-08
    • 2016-07-04
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多