对使用React组件进行Flow输入感到困惑

时间:2017-06-29 14:47:37

标签: javascript reactjs typescript flowtype flow-typed

我对与反应组件一起使用的流类型有点困惑 这是我的代码的一部分:

// @flow
import React from 'react';
import Stage from '../../../shared/sections/Stage';

interface WithContent {
  content: any,
}

class DynamicContent extends React.PureComponent {
  props: {
    content: [],
  };

  static componentsMap = {
    dn_module_stage: Stage,
  };

  static getComponent(identifier: string): ?React$Element<WithContent> {
    if (Object.prototype.hasOwnProperty.call(DynamicContent.componentsMap, identifier)) {
      return DynamicContent.componentsMap[identifier];
    }
    return null;
  }

  static renderComponent(component: GenericComponent, key: number): ?React$Element<WithContent> {
    const Component: any = DynamicContent.getComponent(component.type);
    if (Component) {
      return <Component key={key} content={component.content} />;
    }
    return null;
  }
  ...
  ...

可能接口是不必要的,我应该使用?React $ Element&lt; *&gt;,对吗? 我试图键入这一行,但没有成功,我应该使用什么而不是任何?

const Component: any = DynamicContent.getComponent(component.type);

是否有正确使用流量的良好来源?我刚发现一篇文章和官方文件并不多。有代码示例的任何github存储库吗?

1 个答案:

答案 0 :(得分:1)

您可以检查Github上的磁通备份,它具有代码中使用的流量。例如,https://github.com/facebook/flux/blob/master/examples/flux-async/src/views/AppView.js