Search code examples
reactjstypescript

error TS2314: Generic type 'Component<P, S>' requires 2 type argument(s)


In using ReactJS with TypeScript, this error comes up:

error TS2314: Generic type 'Component<P, S>' requires 2 type argument(s).

How do I fix this?


Solution

  • The P is the props type and the S is the state type. You'll want to change:

    class MyComponent extends React.Component { ...

    to:

    interface MyProps {}
    interface MyState {}
    
    class MyComponent extends React.Component<MyProps, MyState> { ...
    

    Then expand the MyProps and MyState interfaces to include typing for all the props and state that the component needs.