React Native - ์œ ์šฉํ•œ Component, API

2026. 1. 30. 14:38ยท๐Ÿ›ธ React Native

React Native

 

 

โœ… Blur View


https://docs.expo.dev/versions/latest/sdk/blur-view/

 

BlurView

A React component that blurs everything underneath the view.

docs.expo.dev

 

 

โœ… ScrollView


refreshControl

https://reactnative.dev/docs/scrollview#refreshcontrol

 

ScrollView · React Native

Component that wraps platform ScrollView while providing integration with touch locking "responder" system.

reactnative.dev

 

ScrollView ๋‹จ์ 

๋ชจ๋“  ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ํ•œ ๋ฒˆ์— renderํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ํผํฌ๋จผ์Šค์— ์ข‹์ง€ ์•Š์€ ์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค.

์ด ๋‹จ์ ์— ๋Œ€ํ•œ ๋ฐฉ์•ˆ์ด FlatList

 

 

โœ… FlatList


https://reactnative.dev/docs/flatlist

 

FlatList · React Native

A performant interface for rendering basic, flat lists, supporting the most handy features:

reactnative.dev

 

์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‹ค์ œ๋กœ ๋ณด์ด๊ธฐ ์ง์ „์— render ํ•œ๋‹ค. (๋ฏธ๋ฆฌ ์ „๋ถ€ render ์•ˆ ํ•จ) (Lazy Render)

 

๋˜ํ•œ map()๋„ ํ•„์š”์—†๊ณ  key prop๋„ ํ•„์š”์—†๋‹ค.

 

๋ฌดํ•œ ์Šคํฌ๋กค์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ prop๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

<FlatList
    horizontal
    data={trending}
    keyExtractor={(item) => item.id.toString()}
    contentContainerStyle={{ paddingHorizontal: 20 }}
    showsHorizontalScrollIndicator={true}
    renderItem={({ item }) => <VMedia posterPath={item.poster_path} />}
    ItemSeparatorComponent={() => <View style={{ width: 20 }} />}
/>

key๊ฐ’์€ string์ด ๊ด€๋ก€

vertical ScrollView ์•ˆ์— vertical FlatList๊ฐ€ ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.

 

onEndReached

๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ prop

onEndReachedThreshold prop์œผ๋กœ ๋์— ๋„๋‹ฌํ•˜๋Š” ๋ฒ”์œ„ ์ง€์ • ๊ฐ€๋Šฅ

 

Tanstack Query์˜ useInfiniteQuery์™€ ์กฐํ•ฉํ•˜๋ฉด ์ข‹๋‹ค.

 

 

 

โœ… SectionList


Section์— ๋”ฐ๋ฅธ list๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ ๊ฐ section์— ๋จธ๋ฌด๋ฅด๋Š” ๋™์•ˆ ํ•ด๋‹น section์˜ header๋ฅผ ์Šคํฌ๋กค ํ•˜๋Š” ๋™์•ˆ ์ƒ๋‹จ์— ์œ ์ง€์‹œ์ผœ์ค€๋‹ค.

 

https://reactnative.dev/docs/sectionlist

 

SectionList · React Native

A performant interface for rendering sectioned lists, supporting the most handy features:

reactnative.dev

 

 

โœ… Expo LinearGradient


https://docs.expo.dev/versions/latest/sdk/linear-gradient/

 

LinearGradient

A universal React component that renders a gradient view.

docs.expo.dev

 

npx expo install expo-linear-gradient

 

macOS์—์„œ iOS๋ฅผ ๋นŒ๋“œ ์ค‘์ด๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์ค˜์•ผ ํ•จ

npx pod-install ios

 

์„ค์น˜ ์™„๋ฃŒ ํ›„ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์ค˜์•ผ expo linear gradient๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•œ๋‹ค.

 

Usage

      <Header>
        <Background
          style={StyleSheet.absoluteFill}
          source={{ uri: makeImgPath(params.backdrop_path || "") }}
        />
        <LinearGradient
          // Background Linear Gradient
          colors={["transparent", BLACK_COLOR]}
          style={StyleSheet.absoluteFill}
        />
        <Column>
          <Poster path={params.poster_path || ""} />
          <Title>{"title" in params ? params.title : params.name}</Title>
        </Column>
      </Header>

 

 

โœ… Linking


https://reactnative.dev/docs/linking

 

Linking · React Native

Linking gives you a general interface to interact with both incoming and outgoing app links.

reactnative.dev

 

Usage

  const openYTLink = async (videoId: string) => {
    const baseUrl = `https://m.youtube.com/watch?v=${videoId}`;
    await Linking.openURL(baseUrl);
  };
  
<VideoBtn key={video.key} onPress={() => openYTLink(video.key)}>
    <Ionicons name="logo-youtube" color="#FF0034" size={24} />
    <BtnText>{video.name}</BtnText>
</VideoBtn>

 

๋‹จ์ : ์•ฑ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์ง„๋‹ค.(ํ•ด๋‹น ์•ฑ์ด ์žˆ์œผ๋ฉด ํ•ด๋‹น ์•ฑ์„ ์—ด๊ณ  ์—†์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๋กœ ์—ฐ๋‹ค.)

 

 

โœ… Expo WebBrowser


https://docs.expo.dev/versions/latest/sdk/webbrowser/

 

WebBrowser

A library that provides access to the system's web browser and supports handling redirects.

docs.expo.dev

 

์•ฑ ๋‚ด์—์„œ ๋งํฌ๋ฅผ ์—ด ์ˆ˜ ์žˆ์Œ

 

 

โœ… Share


https://reactnative.dev/docs/share

 

Share · React Native

Example

reactnative.dev

 

Usage

import { Dimensions, Platform, Share, StyleSheet } from "react-native";

const shareMedia = async () => {
  const isAndroid = Platform.OS === "android";
  const homepage = isMovie
    ? `https://www.imdb.com/title/${data.imdb_id}`
    : data.hompage;
  if (isAndroid) {
    await Share.share({
      message: homepage,
      title: isMovie ? params.title : params.name,
    });
  } else {
    await Share.share({
      url: homepage,
      message: params.overview,
    });
  }
};

'๐Ÿ›ธ React Native' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

React Native - Animation  (0) 2026.02.11
React Native - react native web swiper  (0) 2026.01.27
React Native - Dark Mode  (0) 2026.01.26
React Native - npx expo prebuild, ๊ธฐ๊ธฐ ๋ฌด์„  ์—ฐ๊ฒฐ ๋ชจ๋‹ˆํ„ฐ๋ง  (0) 2026.01.21
React Native - React Navigation  (0) 2026.01.21
'๐Ÿ›ธ React Native' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • React Native - Animation
  • React Native - react native web swiper
  • React Native - Dark Mode
  • React Native - npx expo prebuild, ๊ธฐ๊ธฐ ๋ฌด์„  ์—ฐ๊ฒฐ ๋ชจ๋‹ˆํ„ฐ๋ง
j2yonghwa
j2yonghwa
Trying to be a fullstack developer ๐Ÿš€
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (156)
      • โฐ Daily WakaTime (1)
      • ๐Ÿ–๏ธ ๋…ธ๋งˆ๋“œ์ฝ”๋” (2)
      • ๐Ÿบ Dev Setup (3)
      • ๐Ÿ”ญ Tech Info (1)
      • ๐Ÿšซ Error (1)
      • ๐Ÿ“‚ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (23)
      • ♣๏ธ Next.js 14 (10)
      • ♠๏ธ Next.js 12 (20)
      • ๐Ÿ›ธ React Native (12)
      • ๐Ÿฆ‹ TypeScript (1)
      • ๐Ÿ Python (2)
      • ๐ŸŒŠ TailwindCSS (4)
      • ๐Ÿงฉ SQL (25)
      • ๐Ÿ’Ž Prisma (5)
      • ๐ŸŒฑ MongoDB (4)
      • ๐ŸŽฏ Redis (1)
      • ๐Ÿงฌ GraphQL (2)
      • ๐Ÿ”ฅ Firebase (7)
      • ๐Ÿ’ธ Third-Party Services (2)
      • ๐Ÿ•ธ๏ธ Web (1)
      • ๐Ÿ† ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (23)
      • ๐Ÿ“™ ๋ชจ๋”ฅ๋‹ค (5)
      • ๐Ÿ“— ์ฝ”ํ…Œ ํ•ฉ๊ฒฉ์ž ๋˜๊ธฐ -JS- (0)
      • ๐Ÿ“˜ ํด๋ฆฐ์ฝ”๋“œ (0)
      • ๐Ÿฏ ๊ฟ€ํŒ ๐Ÿ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๊นƒํ—™
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    MySQL
    ๋ชจ๋”ฅ๋‹ค
    react router
    Python
    Firebase
    SQL
    0๋ ˆ๋ฒจ
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    API
    Next.js
    tailwindcss
    Prisma
    next.js 12
    mongoDB
    next.js 14
    dev setup
    PostgreSQL
    React Native
    ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
j2yonghwa
React Native - ์œ ์šฉํ•œ Component, API
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”