Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try npm install @types/react-scroll-to-bottom #81

Open
h4liss0n opened this issue Apr 25, 2021 · 5 comments
Open

Try npm install @types/react-scroll-to-bottom #81

h4liss0n opened this issue Apr 25, 2021 · 5 comments

Comments

@h4liss0n
Copy link

Hi flow!I
I have a problem! How to use this component in the application with React and typescript? 
I install and create simple chat app when run command npm i react-scroll-to-bottom  result OK, no problem.
But when I run command npm start result this problem\error:

Could not find a declaration file for module 'react-scroll-to-bottom'. './node_modules/react-scroll-to-bottom/lib/index.js' implicitly has an 'any' type.
  Try `npm install @types/react-scroll-to-bottom` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-scroll-to-bottom';`  TS7016
@compulim
Copy link
Owner

compulim commented May 13, 2021

We are not a TypeScript component, thus, we are not publishing declarations (a.k.a. typings, or .d.ts).

Can your application relax to support React components written in JavaScript?

@justinbhopper
Copy link

@compulim You can publish typings even without writing your component in TypeScript. The way you do this is simple - add a .d.ts file with the type definitions, and then point to this file in your package.json using the types property. You'll be helping support a very large percentage of your consumers by doing this.

I've created a pull request that should do the trick:
#96

@h4liss0n
Copy link
Author

We are not a TypeScript component, thus, we are not publishing declarations (a.k.a. typings, or .d.ts).

Can your application relax to support React components written in JavaScript?

I do really wireting with the javascript/ typescript component of react application, I can relax typescript rules. Thank you very much all

@h4liss0n
Copy link
Author

@compulim You can publish typings even without writing your component in TypeScript. The way you do this is simple - add a .d.ts file with the type definitions, and then point to this file in your package.json using the types property. You'll be helping support a very large percentage of your consumers by doing this.

I've created a pull request that should do the trick:
#96

I'm feel truly, this change is very very helpful to us!

@mrbernnz
Copy link

mrbernnz commented Apr 12, 2022

While we are waiting for the PR #96 to be resolved. You can add this to your code to satisfy the great work @justinbhopper did to a .d.ts file.

declare module 'react-scroll-to-bottom' {
  import * as React from 'react';

  interface ReactScrollToBottomProps {
    checkInterval?: number;
    className?: string;
    debounce?: number;
    followButtonClassName?: string;
    mode?: string;
    scrollViewClassName?: string;
    children: React.ReactNode;
    debug?: boolean;
  }

  interface ScrollOptions {
    behavior: ScrollBehavior;
  }

  interface FunctionContextProps {
    scrollTo: (scrollTo: number, options: ScrollOptions) => void;
    scrollToBottom: (options: ScrollOptions) => void;
    scrollToEnd: (options: ScrollOptions) => void;
    scrollToStart: (options: ScrollOptions) => void;
    scrollToTop: (options: ScrollOptions) => void;
  }

  const FunctionContext: React.Context<FunctionContextProps>;

  export default class ScrollToBottom extends React.PureComponent<ReactScrollToBottomProps> {}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants