在TSX中将var输入为函数时出错

问题描述

我是TS的新手。这段代码没有错误

interface Props {
  active: boolean
  error: any // unkNown
  input: any // unkNown
  onActivate: Function
  onKeyUp: Function
  onSelect: Function
  onUpdate: Function
  readonly: boolean
  selected: boolean
  value: string
}

但是在这里,我看到一条错误消息:

Cannot redeclare block-scoped variable 'Function'.ts(2451)

对于Function的每个声明:

const EditableCell: React.FC<Props> = (props) => {
  const {
    input: any,value: string,selected: Function,active: boolean
    onSelect: Function,onActivate: Function,onUpdate: Function
  } = props

顺便说一句,这两个代码块紧随其后

解决方法

在销毁道具时删除类型分配。

const {
  active,error,// unknown
  input,// unknown
  onActivate,onKeyUp,onSelect,onUpdate,readonly,selected,value
} = props

警告-

请勿使用任何和函数类型,而应使用适当的类型代替它们!