@wistia/wistia-player-react
v0.3.15
Published
An embeddable wistia-player web component and React wrapper to add responsive, lightweight, and SEO-friendly videos to your site.
Readme
Wistia Player React Wrapper
Wistia's React Wrapper of the <wistia-player/> web component. Used to add responsive, lightweight, and SEO-friendly videos to your site.
For more usage information, check out our Wistia Player React Component documentation.
Getting started
npm install @wistia/wistia-player-reactSimple player
The only required prop is mediaId, the ID of the media that will be embedded.
import { WistiaPlayer } from '@wistia/wistia-player-react';
<WistiaPlayer mediaId="abc123" />;Player with embed options and event callback
The <WistiaPlayer> component takes the same options (as React props) which one can set on the <wistia-player> web component. There is a list at the Embed options support page. The only difference here is that numbers, booleans, etc are expected to be JS values of those types rather than strings. Event callbacks can also be added, formatted in a way which is familiar React development (e.g. the play event would become onPlay).
import { WistiaPlayer } from '@wistia/wistia-player-react';
<WistiaPlayer
mediaId="abc123"
playerColor="1e64f0"
onPlay={() => console.log('Wistia video is playing!')}
/>;Additional Options
Avoiding layout shifts
The player will automatically load in a lightweight placeholder "swatch" image as soon as possible. However, in certain cases (such as server-side rendering) there can still be a slight layout shift while we wait for that placeholder. In order to avoid shift completely, you can explicitly set the aspect of your video:
import { WistiaPlayer } from '@wistia/wistia-player-react';
<WistiaPlayer mediaId="abc123" aspect={16 / 9} />;Fixed-size Embeds
The player is responsive by default. If a fixed-size player is better for your use-case, you can pass in width and height values instead:
import { WistiaPlayer } from '@wistia/wistia-player-react';
<WistiaPlayer
mediaId="abc123"
style={{
width: '640px',
height: '360px',
}}
/>;Popovers
Wistia’s “popovers” are video embeds that open in modal overlays when a target element is clicked. For these embeds, there is an explicit, required wistiaPopover prop (true/false) as well as an optional popoverContent prop. If left undefined, the default popoverContent value is thumbnail. For popovers with popoverContent="link, the <WistiaPlayer> component expects to have children.
import { WistiaPlayer } from '@wistia/wistia-player-react';
<WistiaPlayer mediaId="abc123" wistiaPopover={true} popoverContent="link">
<span>Popover Link</span>
</WistiaPlayer>;