
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@webdq/react-native-reanimated-player
Advanced tools
A react-native video player that interacts like Youtube player, built upon Reanimted v2 & react-native-gesture-handle
This is the react-native-video version, If you use Expo, please check out expo-reanimated-av-player!
First you have to follow installation instructions of:
If react-native-gesture-handler version >= 2:
yarn add react-native-reanimated-player
else use v1:
yarn add react-native-reanimated-player@1
import VideoPlayer from 'react-native-reanimated-player';
import { useSharedValue } from 'react-native-reanimated';
export const Example = () => {
const videoHeight = useSharedValue(0);
const isFullScreen = useSharedValue(false);
const { paused, setPaused } = useContext(false);
return (
<VideoPlayer
source={uri}
headerTitle={'Title in full screen mode'}
onTapBack={() => {
Alert.alert('onTapBack');
}}
onTapMore={() => {
Alert.alert('onTapMore');
}}
onPausedChange={state => {
Alert.alert(`onPausedChange: ${state}`);
setPaused(state);
}}
videoHeight={videoHeight}
paused={paused}
isFullScreen={isFullScreen}
/>
);
};
TypeScript.react-native-reanimated and react-native-gusture-handler.expo-av supportThe <VideoPlayer/> component has the following configuration properties:
| Name | Type | Description | Required | Default Value |
| theme | object | The slider theme color | ❌ | { // Color to fill the progress in the seekbar minimumTrackTintColor: string, // Color to fill the background in the seekbar maximumTrackTintColor: string, // Color to fill the cache in the seekbar cacheTrackTintColor: string, // Color to fill the bubble backgroundColor disableMinTrackTintColor: string, // Disabled color to fill the progress in the seekbar bubbleBackgroundColor: string } |
| showOnStart | boolean | control view init show | ❌ | false |
| onEnterFullscreen | function | on enter fullscreen callback | ❌ | undefined |
| onExitFullscreen | function | on exit fullscreen callback | ❌ | undefined |
| controlTimeout | nubmer | How long to hide the control view after showing | ❌ | 2000 |
| videoDefaultHeight | number | video default height | ❌ | screenWidth * (9 / 16) |
| headerBarTitle | string | header bar title on fullscreen mode | ❌ | undefined |
| onTapBack | function | tap header bar Icon-'Back' callback | ❌ | undefined |
| navigation | any | navigation | ❌ | undefined |
| autoPlay | boolean | auto play | ❌ | false |
| onToggleAutoPlay | function | on toggle auto play | ❌ | undefined |
| onTapMore | function | tap headerbar Icon-'More' callback | ❌ | undefined |
| doubleTapInterval | number | double tap interval | ❌ | undefined |
| paused | boolean | video paused | ✅ | undefined |
| onPausedChange | boolean | on change video paused | ❌ | undefined |
| onTapPause | function | on tap video paused | ❌ | undefined |
| sliderProps | object | react-native-awesome-slider props | ❌ | undefined |
| videoHeight | Animated.SharedValue | video height | ✅ | width * (9 / 16); |
| customAnimationStyle | Animated Viewstyle | video height | ❌ | width * (9 / 16); |
| onCustomPanGesture | PanGesture | custom pan gesture | ❌ | width * (9 / 16); |
| isFullScreen | Animated ShareValue | fullScreen status | ✅ | undefined |
| disableControl | boolean | control view status | ❌ | undefined |
| renderBackIcon | JSX | custom back icon | ❌ | undefined |
| renderFullScreenBackIcon | JSX | custom full's fullscreen icon | ❌ | undefined |
| renderMore | JSX | custom more icon | ❌ | undefined |
| renderFullScreen | JSX | custom fullscreen icon | ❌ | undefined |
| children | JSX | child components to be rendered under video player controls | ❌ | undefined |
| onPostProgress | function | callback function that is called every progressUpdateInterval milliseconds with info about which position the media is currently playing | ❌ | undefined |
| onPostSeek | function | callback function that is called when a seek completes | ❌ | undefined |
FAQs
A react-native video player that interacts like Youtube player, built upon Reanimted v2 & react-native-gesture-handle
We found that @webdq/react-native-reanimated-player demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.