3

我无法弄清楚这是做什么甚至是什么。有人会那么好心地指出我要研究什么吗?

circle: (null : ?{ setNativeProps(props: Object): void }),

它是 React Native 示例的一部分,也是 React Native 类定义的一部分。外部分为(略):

var NavigatorIOSExample = React.createClass({
...
circle: (null : ?{ setNativeProps(props: Object): void }),
...
});

我认为这是对三元运算符的一些棘手使用。一个匿名函数。但?

来源:https ://facebook.github.io/react-native/docs/panresponder.html

4

1 回答 1

8

声明是来自Flow的语法。它说'circle'是一个对象,其属性是一个名为'setNativeProps'的函数:

{ setNativeProps(props: Object): void }

它还说 circle可以为空(由前面的“?”表示),并且在指定类型的对象被分配给它之前,默认值将为空。

如果您进一步查看示例,您可以看到调用代码在调用 setNativeProps 之前如何检查该圆圈是否已分配:

this.circle && this.circle.setNativeProps({
    backgroundColor: CIRCLE_HIGHLIGHT_COLOR
});
于 2015-05-17T14:29:58.853 回答