我们有一个纯组件,我们正在尝试将其转换为Flow类型的安全性。应用程序将此组件用作HOC(高阶组件)。它正在生成上下文并将其注入(inject)已调度的组件。

因此,HOC的一种方法是返回涉及许多绑定(bind)操作的对象文字。在此键值对中,有一个我们未处理的表达式。

我们收到有关缺少符号的错误:


export type PropsType = {
  reviewConf ? : Object,
 ...
}

export type ContextType = {
  registerComponent: () => void,
  errors ? : Array < any >
  ...
}

export type StateType = {
  meta: Object
}

class AbstractPureFormComponent extends React.PureComponent < PropsType, StateType > {
    constructor(props: PropsType, context: ContextType) {
      super(props, context)

      this.state = {
        meta: {}
      }

    }
    getChildContext() {
        return {
          registerComponent: this.registerComponent.bind(this),
          ...



          errors: Object.keys(this.state.meta).filter(
                  name => this.state && this.state.meta[name].error
          )
       }
     }
   }
}

那么,键入此error: key 的最佳实践是什么?应该是接口(interface)还是类型还是其他...

最佳答案

我只是通过简单地克隆和排序数组的函数遇到了这个问题,例如

const sortArray = (myArr: MyArray[]) => [...myArr].sort((a, b) => a > b ? -1 : 1)

为我解决的只是输入sortArray的返回值:
const sortArray = (myArr: MyArray[]): MyArray[] => [...myArr].sort((a, b) => a > b ? -1 : 1)

关于reactjs - 流: Missing type annotation for T,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53316793/

10-11 14:13