ts开发遇到的问题汇总

项目技术栈是react + antd + ts
ts语法比较严格,第一次用在项目中,使用起来还是蛮不顺手的,遇到的问题基本都是语法检查的问题,现汇总下遇到的问题
1.[ts] Type '{ visible: boolean; handleCancel: (e: any) => void; }' has no properties in common with type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<RcBaseFormProps & Pick<any, never>, Comp...'
产生这个问题的原因是因为在子组件里使用了高级组件,在父组件的代码

//父组件
import { SpecialOrderDetail } from './SpecialOrder.detail'
   <SpecialOrderDetail 
         visible={this.state.visible} 
          handleCancel={this.handleCancel}
     />
//子组件 SpecialOrder.detail.js
class Order extends React.Component<any, any>{
......
}
export  const SpecialOrderDetail = Form.create()(Order);

问题就出在子组件最后这行代码上面,因为被高阶组件包装了一层,在父组件里handleCancel并不是加到SpecialOrderDetail 上,而是Order上,导致了报错。


展示问题原因

解决办法:直接在子组件对外暴露的名字上加上:any就可以

export  const SpecialOrderDetail:any = Form.create()(Order);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容