• Stars
    star
    274
  • Rank 150,274 (Top 3 %)
  • Language
    JavaScript
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Twitter widgets as React components

react-twitter-widgets

npm version npm downloads GitHub issues

Quick and easy Twitter widgets for React.

Available widgets: Timeline, Share, Follow, Hashtag, Mention, Tweet.

See below for usage.

Demo

Storybook / Live Demo

Installation

npm install --save react-twitter-widgets

Example

import { Timeline } from 'react-twitter-widgets'

// Tweet (without options)
<Tweet tweetId="841418541026877441" />

// Timeline (with options)
<Timeline
  dataSource={{
    sourceType: 'profile',
    screenName: 'TwitterDev'
  }}
  options={{
    height: '400'
  }}
/>

Usage

๐Ÿ”— Official Twitter Documentation

Available widgets: Timeline, Share, Follow, Hashtag, Mention, Tweet

Timeline requires a dataSource object prop. The source type can be profile, list, or url. They each require their own co-fields; see Twitter documentation. NOTE that collection, likes, and moments will be deprecated on June 23, 2021.

Share requires a url prop.

Follow and Mention require a username prop. NOTE that the Twitter documentation now refers to this as screenName.

Hashtag requires a hashtag prop.

Tweet requires a tweetId prop. Ex. '511181794914627584'

Common Props

All widgets accept these props.

  • options (object)
    • To learn more about the available options, refer to the Twitter documentation. There are four options that are common to all widgets (lang, dnt, related, and via). There are further options for button widgets, tweet buttons, Timeline, and Tweet.
  • onLoad (function)
    • Called every time the widget is loaded. A widget will reload if its props change.
  • renderError (function)
    • Render prop. Rendered if widget cannot be loaded (no internet connection, screenName not found, bad props, etc).
    • Example: renderError={(_err) => <p>Could not load timeline</p>}

Lazy vs. Eager Loading

By default, the remote Twitter library will be lazy-loaded when the first widget renders. To instead load it eagerly, call eagerLoadTwitterLibrary.

import { eagerLoadTwitterLibrary } from "react-twitter-widgets";
eagerLoadTwitterLibrary();

Further Information

  • This library loads the remote Twitter for Websites library.
  • Twitter widgets are only loaded in the browser. A blank div will be rendered during SSR.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Credits

License

MIT