Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

React Native APIs turned into React Hooks for use in functional React components

License

NotificationsYou must be signed in to change notification settings

react-native-community/hooks

Repository files navigation

React Native Hooks

React Native Hooks

Version

React Native APIs turned into React Hooks allowing you to access asynchronous APIs directly in your functional components.

Note: You must use React Native >= 0.59.0

Installation with npm

npm install @react-native-community/hooks

Installation with yarn

yarn add @react-native-community/hooks

API

useAccessibilityInfo

import{useAccessibilityInfo}from'@react-native-community/hooks'const{  boldTextEnabled,  screenReaderEnabled,  reduceMotionEnabled,// requires RN60 or newer  grayscaleEnabled,// requires RN60 or newer  invertColorsEnabled,// requires RN60 or newer  reduceTransparencyEnabled,// requires RN60 or newer}=useAccessibilityInfo()

useAppState

AppState will change between one of 'active', 'background', or (iOS) 'inactive' when the app is closed or put into the background.

import{useAppState}from'@react-native-community/hooks'constcurrentAppState=useAppState()

useBackHandler

import{useBackHandler}from'@react-native-community/hooks'useBackHandler(()=>{if(shouldBeHandledHere){// handle itreturntrue}// let the default thing happenreturnfalse},[shouldBeHandledHere])

useImageDimensions

import{useImageDimensions}from'@react-native-community/hooks'constsource=require('./assets/yourImage.png')// orconstsource={uri:'https://your.image.URI'}const{dimensions, loading, error}=useImageDimensions(source)if(loading||error||!dimensions){returnnull}const{width, height, aspectRatio}=dimensions

useKeyboard

import{useKeyboard}from'@react-native-community/hooks'constkeyboard=useKeyboard()console.log('keyboard isKeyboardShow: ',keyboard.keyboardShown)console.log('keyboard keyboardHeight: ',keyboard.keyboardHeight)

useInteractionManager

import{useInteractionManager}from'@react-native-community/hooks'constinteractionReady=useInteractionManager()console.log('interaction ready: ',interactionReady)

useDeviceOrientation

import{useDeviceOrientation}from'@react-native-community/hooks'constorientation=useDeviceOrientation()console.log('orientation is:',orientation)

useLayout

import{useLayout}from'@react-native-community/hooks'const{ onLayout, ...layout}=useLayout()console.log('layout: ',layout)<ViewonLayout={onLayout}style={{width:200,height:200,marginTop:30}}/>

useRefresh

import{useRefresh}from'@react-native-community/hooks'constfetch=()=>{returnnewPromise((resolve)=>setTimeout(resolve,500))}const{isRefreshing, onRefresh}=useRefresh(fetch);<ScrollViewrefreshControl={<RefreshControlrefreshing={isRefreshing}onRefresh={onRefresh}/>}/>

Thanks

We useChangesets for managing releases and versioning.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Pavlos Vinieratos

💻🎨📖🚇🚧⚠️

Melih

💻📖🚇⚠️

Jesse Katsumata

💻📖🚧⚠️

abhishek gupta

🐛

Zeljko

💻

Linus Unnebäck

💻🚇📖⚠️

Tony Xiao

💻

Ronaldo Lima

💻

Marius Reimer

💻

Nishith Patel

💻

jozn

📖

Andrew Lisowski

🚇📦🔧💻📖

faraz ahmad

📖

Nader Dabit

🤔

Dani Akash

💻

Dylan Vann

💻

Tihomir Valkanov

📖

Pierre Skowron

💻

Gamal Shaban

💻📖⚠️

Greg-Bush

📖💻⚠️🚇

Alan Kenyon

📖💻

Thibault Maekelbergh

⚠️💻

Gertjan Reynaert

⚠️💻

David NRB

⚠️💻📖

This project follows theall-contributors specification. Contributions of any kind welcome!

About

React Native APIs turned into React Hooks for use in functional React components

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors34


[8]ページ先頭

©2009-2025 Movatter.jp