API Reference
This is the reference for the utility functions that react-tweet
provides for building your own tweet components or simply fetching a tweet. Navigate to the docs for the Twitter theme if you want to render the existing Tweet components instead.
getTweet
import { getTweet, type Tweet } from 'react-tweet/api'
function getTweet(
id: string,
fetchOptions?: RequestInit
): Promise<Tweet | undefined>
Fetches and returns a Tweet
(opens in a new tab). It accepts the following params:
- id -
string
: the tweet ID. For example inhttps://twitter.com/chibicode/status/1629307668568633344
the tweet ID is1629307668568633344
. - fetchOptions -
RequestInit
(Optional): options to pass tofetch
(opens in a new tab).
If a tweet is not found it returns undefined
.
fetchTweet
function fetchTweet(
id: string,
fetchOptions?: RequestInit
): Promise<{
data?: Tweet | undefined
tombstone?: true | undefined
notFound?: true | undefined
}>
Fetches and returns a Tweet
(opens in a new tab) just like getTweet
, but it also returns additional information about the tweet:
- data -
Tweet
(Optional): The tweet data. - tombstone -
true
(Optional): Indicates if the tweet has been made private. - notFound -
true
(Optional): Indicates if the tweet was not found.
enrichTweet
import { enrichTweet, type EnrichedTweet } from 'react-tweet'
const enrichTweet: (tweet: Tweet) => EnrichedTweet
Enriches a Tweet
(opens in a new tab) as returned by getTweet
with additional data. This is useful to more easily build custom tweet components.
It returns an EnrichedTweet
(opens in a new tab).
useTweet
If your app supports React Server Components, use
getTweet
instead.
import { useTweet } from 'react-tweet'
const useTweet: (
id?: string,
apiUrl?: string,
fetchOptions?: RequestInit
) => {
isLoading: boolean
data: Tweet | null | undefined
error: any
}
SWR hook for fetching a tweet in the browser. It accepts the following parameters:
- id -
string
: the tweet ID. For example inhttps://twitter.com/chibicode/status/1629307668568633344
the tweet ID is1629307668568633344
. This parameter is not used ifapiUrl
is provided. - apiUrl -
string
: the API URL to fetch the tweet from. Defaults tohttps://react-tweet.vercel.app/api/tweet/:id
. - fetchOptions -
RequestInit
(Optional): options to pass tofetch
(opens in a new tab). Try to pass down a reference to the same object to avoid unnecessary re-renders.
We highly recommend adding your own API endpoint in apiUrl
for production:
const tweet = useTweet(null, id && `/api/tweet/${id}`)
It's likely you'll never use this hook directly, and apiUrl
is passed as a prop to a component instead:
<Tweet apiUrl={id && `/api/tweet/${id}`} />
Or if the tweet component already knows about the endpoint it needs to use, you can use id
instead:
<Tweet id={id} />