
Security News
curl Shuts Down Bug Bounty Program After Flood of AI Slop Reports
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.
@futurejj/react-native-visibility-sensor
Advanced tools
A React Native wrapper to check whether a component is in the view port to track impressions and clicks
🔍 Component visibility sensor wrapper to sense whether or not a component is in viewport with configurable inset thresholds & percent visibility callback.
Using yarn
yarn add @futurejj/react-native-visibility-sensor
using npm:
npm install @futurejj/react-native-visibility-sensor
import React, { useState } from 'react';
import { ScrollView, Text } from 'react-native';
import { VisibilitySensor } from '@futurejj/react-native-visibility-sensor';
export default function VisibilitySensorExample() {
const [isVisible, setIsVisible] = useState(false);
const [percentVisible, setPercentVisible] = useState<number>(0);
return (
<ScrollView>
<VisibilitySensor
onChange={setIsVisible}
onPercentChange={setPercentVisible} // optional callback for % change
threshold={{ top: 100, bottom: 100 }}
style={[styles.item, { backgroundColor: isVisible ? 'green' : 'red' }]}>
{/* Visibility state */}
<Text>This View is currently visible? {isVisible ? 'yes' : 'no'}</Text>
{/* Percent visibility state */}
<Text>{`Percent visible: ${percentVisible}%`}</Text>
</VisibilitySensor>
</ScrollView>
);
}
VisibilitySensorProps extends ViewProps from React Native, which includes common properties for all views, such as style, onLayout, etc.
| Property | Type | Required | Description |
|---|---|---|---|
onChange | (visible: boolean) => void | Yes | Callback function that fires when visibility changes. |
onPercentChange | (percentVisible: number) => void | No | Callback function that fires when visibility % changes. |
disabled | boolean | No | If true, disables the sensor. |
triggerOnce | boolean | No | If true, the sensor will only trigger once. |
delay | number or undefined | No | The delay in milliseconds before the sensor triggers. |
threshold | VisibilitySensorThreshold | No | Defines the part of the view that must be visible for the sensor to trigger. |
Additionally, all properties from ViewProps are also applicable.
| Property | Type | Required | Description |
|---|---|---|---|
top | number | No | The top threshold value for visibility. |
bottom | number | No | The bottom threshold value for visibility. |
left | number | No | The left threshold value for visibility. |
right | number | No | The right threshold value for visibility. |
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
FAQs
A React Native wrapper to check whether a component is in the view port to track impressions and clicks
The npm package @futurejj/react-native-visibility-sensor receives a total of 16,156 weekly downloads. As such, @futurejj/react-native-visibility-sensor popularity was classified as popular.
We found that @futurejj/react-native-visibility-sensor 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
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.