Error: Cannot invoke an expression whose type lacks a call signature

后端 未结 8 2099
执笔经年
执笔经年 2020-12-02 17:50

I am brand new to typescript, and I have two classes. In the parent class I have:

abstract class Component {
  public deps: any = {};
  public props: any = {         


        
8条回答
  •  青春惊慌失措
    2020-12-02 18:26

    "Cannot invoke an expression whose type lacks a call signature."

    In your code :

    class Post extends Component {
      public toggleBody: string;
    
      constructor() {
        this.toggleBody = this.setProp('showFullBody');
      }
    
      public showMore(): boolean {
        return this.toggleBody(true);
      }
    
      public showLess(): boolean {
        return this.toggleBody(false);
      }
    }
    

    You have public toggleBody: string;. You cannot call a string as a function. Hence errors on : this.toggleBody(true); and this.toggleBody(false);

提交回复
热议问题