Polyfilled smooth scrolling behavior and helper function for Gatsby sites.
The plugin uses smoothscroll-polyfill and calls it during the onClientEntry Gatsby lifecycle method.
It also includes a scrollTo helper function as its main export that you can use as onClick event handlers to scroll to the desired element using { behavior: 'smooth' }.
# npm
npm install gatsby-plugin-smoothscroll
# yarn
yarn add gatsby-plugin-smoothscrollWhen you want a polyfilled smooth scroll behavior without having to manually install and call the polyfill.
Just add the plugin to the plugins array in your gatsby-config.js:
plugins: [`gatsby-plugin-smoothscroll`];If you want to use the helper function, import it:
// this could be in your `pages/index.js` file
import scrollTo from 'gatsby-plugin-smoothscroll';Then use it as an onClick event handler:
<button onClick={() => scrollTo('#some-id')}>My link</button>Be aware that scrollTo uses document.querySelector() under the hood, so make sure to respect its syntax.