An open API service indexing awesome lists of open source software.

https://github.com/devlander-software/hooks

Devlander Hooks
https://github.com/devlander-software/hooks

Last synced: 5 months ago
JSON representation

Devlander Hooks

Awesome Lists containing this project

README

          

![Devlander Hooks Collection Header](https://github.com/Devlander-Software/hooks/raw/main/media/images/react-hooks-devlander-header-thumb.png)


#DevlanderHooks


Join Devlander on Discord


npm downloads


Join the discussion on Github


Join Devlander on Twitch


Follow Landon Johnson On Twitter


Wakatime Devlander hooks

[![Netlify Status](https://api.netlify.com/api/v1/badges/4e01eb85-7cd6-41a7-9f23-ec7676404a94/deploy-status)](https://app.netlify.com/sites/devlander-react-hooks/deploys)

# Devlander React Native Hooks Collection

## Introduction

The Devlander React Native Hooks Collection is a comprehensive library of React Native hooks, designed for seamless integration and addressing common development challenges. This collection streamlines your development process, offering versatile, cross-platform solutions for a variety of use cases.

## Featured Hooks

- **useScrollControl**: Manage scrolling behavior in your application.
- **useScreenDimensions**: Access screen dimensions for responsive designs.
- **useVisibilitySensor**: Detect when an element is visible on the screen.

## Installation

You can install the Devlander React Native Hooks Collection using npm or yarn:

npm
```bash
npm install @devlander/hooks
```

or

yarn
```bash
yarn add @devlander/hooks
```

## Usage

Each hook in the collection is designed for easy integration. Here are examples of how to use some of our featured hooks:

### useScrollControl
```typescript
// ScrollControlComponent.tsx
import React from 'react';
import { Button, View } from 'react-native';
import { useScrollControl } from '@devlander/hooks'; // Adjust the import path as needed

const ScrollControlComponent = () => {
const { disableScroll, enableScroll } = useScrollControl();

return (




Scroll down to see more content...


);
};

export default ScrollControlComponent;
```

### useScreenDimensions
```typescript
// ExampleComponent.tsx
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { useScreenDimensions } from '@devlander/hooks'; // Adjust the import path as needed

const ExampleComponent = () => {
const { width, height } = useScreenDimensions();

return (

Screen Width: {width}
Screen Height: {height}

);
};

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
});

export default ExampleComponent;
```

### useVisibilitySensor
```typescript
// MyVisibilityComponent.tsx
import React from 'react';
import { View, Text } from 'react-native';
import { useVisibilitySensor } from '@devlander/hooks'; // Adjust import path

const MyVisibilityComponent = () => {
const viewRef = useVisibilitySensor(isVisible => console.log(`Is Visible: ${isVisible}`));

return (

Visibility Tracking Component

);
};

export default MyVisibilityComponent;
```

## Notes
- Follow platform-specific guidelines for React Native implementations.

## License

This package is open-source, available under the MIT License.

### [Become a Sponsor!](https://bit.ly/sponsor-landonjohnson-github/)

**To do**
write documentation on the providers and how you can tie them into the hook