Nectar of the Programming Masses
    Have ideas to improve npm?Join in the discussion! »

    react-social

    1.10.0 • Public • Published

    react-social

    NPM version Build Status Dependency Status Download Count

    Simple React components for social (Facebook, Google, VKontakte, Pinterest ...) buttons and counts.

    Install

    npm install react-social --save

    Example

    import { FacebookButton, FacebookCount } from "react-social";
     
    class App extends Component {
      render {
        let url = "https://github.com";
     
        return (
          <FacebookButton url={url} appId={appId}>
            <FacebookCount url={url} />
            {" Share " + url}
          </FacebookButton>
        );
      }
    }

    Count API

    WARNING: GooglePlusCount, TwitterCount and PocketCount uses the donreach API which has a limit of 1000 request per day, if you have an alternative please do not hesitate to make a PR

    • FacebookCount
    • TwitterCount
    • GooglePlusCount
    • PinterestCount
    • LinkedInCount
    • RedditCount
    • VKontakteCount
    • TumblrCount
    • PocketCount

    Props

    element

    Change the element the component renders into, default is span.

    url

    The url you want to get the count of, default is window.location.

    token
    • FacebookButton

    Optional access token.

    onCount

    Callback for when the count is updated. Callback takes one argument count.

    Methods

    getCount()

    Return the social count.

    Button API

    • FacebookButton
    • TwitterButton
    • GooglePlusButton
    • PinterestButton
    • LinkedInButton
    • RedditButton
    • VKontakteButton
    • EmailButton
    • XingButton
    • TumblrButton
    • PocketButton
    • OdnoklassnikiButton
    • MyMailRuButton

    Props

    element

    Change the element the component renders into, default is button.

    url

    The url you want to share, default is window.location.

    target

    The target you want to open, default is _blank.

    windowOptions

    Pass options to window.open.

    message
    • TwitterButton
    • FacebookButton
    • XingButton
    • TumblrButton
    • PocketButton
    • VKButton
    • PinterestButton (required)
    • OdnoklassnikiButton (required)
    • MyMailRuButton (required)

    A message that's prepended before the url.

    title
    • VKButton
    • RedditButton
    • LinkedInButton
    • OdnoklassnikiButton (required)
    • MyMailRuButton (required)

    Title of your shared content.

    media
    • PinterestButton (required)
    • FacebookButton (optional)
    • OdnoklassnikiButton (required)
    • MyMailRuButton (required)

    Url of an image.

    appId
    • FacebookButton (required)

    Facebook app id.

    sharer
    • FacebookButton

    Facebook has 2 different share dialogs. By default we're showing Feed Dialog which has more options, but supports only sharing to user's feed. You can set sharer option to true and we'll show Share Dialog where user can choose between their feed and also pages they have access to.

    Styles

    There are no styles included, the components pass all their props down to their element like className and style so you can easily style them yourself.

    Notice

    • When rendered server side counts will be 0 since they depend on JSONP.
    • GooglePlusCount, TwitterCount and PocketCount uses the donreach API which has a limit of 1000 requests per day.

    Contributors

    • Ola Holmström (@olahol)
    • Alexandr Sugak (@AlexSugak)
    • Jon Principe (@jprincipe)
    • Jean-Baptiste Quenot (@jbq)
    • Kurt Weiberth (@kweiberth)
    • Bartek Gruszka (@bartekgruszka)
    • Josh Owens (@queso)
    • Maxime Mezrahi (@maxs15)
    • Arvin Tehrani (@arvinkx)
    • Dennis Stücken (@dstuecken)
    • Jonas (@jonashaefele)
    • River Kanies (@riverKanies)
    • Pavel Linkesch (@orthes)
    • Vincent (@vkammerer)
    • Alexey Balmasov (@balmasich)
    • Amitom (@Amitom)
    • Ryan Nevius (@rnevius)
    • David Lakata (@dlakata)
    • Roman Kosovichev (@roma-so)
    • Igor Pnev (@exdeniz)
    • Belevskij Sergeij (@r72cccp)

    MIT Licensed

    Install

    npm i react-social

    DownloadsWeekly Downloads

    2,092

    Version

    1.10.0

    License

    MIT

    Last publish

    Collaborators

    • avatar