React中的尖括号和星号是什么意思?

时间:2018-02-05 21:54:24

标签: javascript reactjs react-native

尖括号和星号在此表达式中的含义是什么?

class MainScreen extends React.Component<*> {
  render() {

1 个答案:

答案 0 :(得分:8)

它是Flow类型的参数。它指定Flow应推断第一个类型参数的类型,换句话说推断道具的形状,请参阅this answer on <*>。这基本上允许您为Flow指定任何形状的对象以推断其类型。假设您有两个道具foobar。你可以这样做:

type Props = {
  foo: number,
  bar: string
};

class MyComponent extends React.Component<Props> { … }

或者,如果你不想要支持,你可以这样做:

class MyComponent extends React.Component<*> { … }

并且访问道具都是一样的。 Flow只是推断它是foobar的对象。