Package Exports
- react-native-reels-view
- react-native-reels-view/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-native-reels-view) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
React Native Reels View
A fully customizable, highβperformance Instagram/TikTokβstyle Reels viewer for React Native. Built with TypeScript and designed for deeply interactive video feeds.
This package helps you build:
- π₯ Smooth verticallyβscrolling reels
- π₯ Autoβplay, mute/unmute, and perβvideo refs
- β€οΈ Like/Unlike with custom UI
- π¬ Comments, reactions, interaction bar
- π Save/Unsave logic
- π€ Who reacted/commented components
- π Fully customizable render functions
π¦ Installation
npm install react-native-reels-viewor
yarn add react-native-reels-viewπ Basic Usage
import ReelsView from "react-native-reels-view";
const App = () => {
return (
<ReelsView
data={reelsData}
/>
);
};π API Reference
Below is the complete documentation for MyListProps<T>.
πΉ data: T[] (required)
The array of reel items.
πΉ renderItem?: (item: T, index: number) => React.ReactNode
Custom renderer for each reel.
πΉ canGoBack?: boolean
If true, shows a back icon.
πΉ onEndReached?: () => void
Triggered when the user scrolls to the last reel.
πΉ onEndReachedThreshold?: number
Defines how close to the bottom before onEndReached fires.
πΉ viewabilityConfig?: FlatListProps["viewabilityConfig"]
Controls which items are considered "viewable".
πΉ ListFooterComponent?: React.ReactNode
Renders custom footer.
πΉ ref?: React.Ref<FlatList>
Reference to the FlatList.
πΉ initialLoading?: boolean
Show loading before first reel appears.
πΉ loadingComponent?: React.ReactNode
Custom loading UI.
π΅ Mute/Unmute Icons
muteIcon?: React.ReactNode
unMuteIcon?: React.ReactNode
π₯ videosRef?: VideoRef | Record<string, VideoRef> | function
Used to control videos individually.
Example usage:
videosRef={(refs) => console.log(refs)}π reelsDetails?: (details, index) => React.ReactNode
Render custom author & description block.
β Interaction Bar
reelsInteractionBar?: (details, index) => React.ReactNode
Fully custom interaction UI (like/share/save/comment).
β€οΈ Like / Unlike Icons
- unlikeIcon?: React.ReactNode
- likeIcon?: React.ReactNode
π Save / Unsave Icons
- unsaveIcon?: React.ReactNode
- saveIcon?: React.ReactNode
π€ currentUser?: { id, name, image, role? }
Used for reactions & comment attribution.
π§βπ€βπ§ whoReactedComponent?: ({ item, index }) => React.ReactNode
Render list of people who liked the reel.
π¬ whoCommentedComponent?: ({ item, index }) => React.ReactNode
Render list of commenters.
π onLikeTextPress?: (item, index) => void
Handles when user taps βLiked byβ¦β text.
β€οΈβπ₯ LikeComponent
LikeComponent?: (
details: { post: any; isLike: boolean; setIsLike: (value: boolean) => void },
index: number
) => React.ReactNode;Lets you override like logic entirely.
πΎ SaveComponent
SaveComponent?: (
details: { post: any; isSave: boolean; setIsSave: (value: boolean) => void },
index: number
) => React.ReactNode;β onSendComment
onSendComment?: ({ commentText, post, setCommentText }) => void;Called when user submits a comment.
π₯ renderInputComponent?: (post) => React.ReactNode
Custom input field.
π customCommentsComponent?: ({ item, index }) => React.ReactNode
Override entire comments list.
π― Summary
This package gives you:
- Full control over UI
- Perβreel refs
- All interactions customizable
- Commenting system
- Reactions system
- Smooth infinite scroll reels
Perfect for building:
- Social feeds
- Stories & reels
- Content discovery pages
π License
MIT
If you want, I can also generate: β npmβready README formatting β GitHub badges β Demo GIF placeholders β Example code folder