react-loading icon indicating copy to clipboard operation
react-loading copied to clipboard

'ReactLoading' cannot be used as a JSX component.

Open mohapakram opened this issue 3 years ago • 3 comments

Just importing ReactLoading like this:

import ReactLoading from 'react-loading';

Gives me this error:

ERROR in src/components/newDesign/pages/login/LoginPage.tsx:93:38
TS2786: 'ReactLoading' cannot be used as a JSX component.
  Its instance type 'Loading' is not a valid JSX element.
    The types returned by 'render()' are incompatible between these types.
      Type 'React.ReactNode' is not assignable to type 'import("C:/Users/PC/OneDrive/Desktop/iplant/frontend/iplant/node_modules/@types/react-table/node_modules/@types/react/index").ReactNode'.
        Type '{}' is not assignable to type 'ReactNode'.
    91 |                                         <InputItem fullWidth type='password' {...register("password")} />
    92 |                                     </FormItemContainer>
  > 93 |                                     <ReactLoading type='bubbles' color="white" />
       |                                      ^^^^^^^^^^^^
    94 |                                     <FormButton type="submit" disabled={isSubmitting}>
    95 |                                         {isSubmitting ? 'loading' : 'Login'}
    96 |                                     </FormButton>

mohapakram avatar Jul 14 '22 21:07 mohapakram

Hey is there a fix available for this?

bhavyagor12 avatar Oct 25 '23 13:10 bhavyagor12

Got around this issue by doing this -- in the tsconfig.json { "compilerOptions": { "jsx":"react", "strict": true, "paths": { "react": [ "./node_modules/@types/react" ] } } }

stack overflow link

bhavyagor12 avatar Oct 25 '23 13:10 bhavyagor12