定义了PropType但从未使用prop-而是吗?

时间:2019-11-04 10:53:23

标签: eslint flowtype airbnb

我遇到了这些错误,但我不知道如何解决。这就是我定义和使用相关属性的方式:

type State = {
  isLoading: boolean // <-- 'isLoading' PropType is defined but prop is never used
};
type Props = {};


export default class MyComponent extends Component<State, Props> {
  constructor(props) {
    super(props);
    this.state = { isLoading: true };
  }
 render() {
    const {isLoading } = this.state; // <-- property `isLoading` is missing in  `Props` [1].Flow(InferError)
index.js(25, 52): [1] `Props`
    if (isLoading)
      return (
        <Container>
          <Spinner color="blue" />
        </Container>
      );
 }
}

因此有定义并使用了它们(当我进行结构分解时)。我也不了解Flow错误,但是它们显然是相关的。

1 个答案:

答案 0 :(得分:1)

您颠倒了传递给organizer{ batches: [{name: "Cricket", players: [{name: "mark"}, {name: "Dave"}]}, {}] } 的{​​{1}}和Props类型参数的顺序,因此Flow认为props是State,state是Component 。该行应如下所示,首先State,然后是Props

Props

查看Flow docs on React components,了解更多信息。