首页
/ React Native Pager View 使用教程

React Native Pager View 使用教程

2026-01-18 10:39:18作者:卓炯娓

项目介绍

react-native-pager-view 是一个用于 React Native 的开源库,它提供了一个可以左右滑动的页面视图组件。这个组件非常适合用于创建轮播图、标签页或者任何需要页面切换的场景。react-native-pager-view 由 Callstack 维护,是一个轻量级且高效的解决方案。

项目快速启动

安装

首先,你需要在你的 React Native 项目中安装 react-native-pager-view。你可以使用 npm 或 yarn 进行安装:

npm install react-native-pager-view

或者

yarn add react-native-pager-view

基本使用

以下是一个简单的示例,展示如何在项目中使用 react-native-pager-view

import * as React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import PagerView from 'react-native-pager-view';

const MyPager = () => {
  return (
    <PagerView style={styles.pagerView} initialPage={0}>
      <View key="1">
        <Text>First Page</Text>
      </View>
      <View key="2">
        <Text>Second Page</Text>
      </View>
      <View key="3">
        <Text>Third Page</Text>
      </View>
    </PagerView>
  );
};

const styles = StyleSheet.create({
  pagerView: {
    flex: 1,
  },
});

export default MyPager;

应用案例和最佳实践

轮播图

react-native-pager-view 非常适合用于创建轮播图。你可以通过监听页面的变化来实现自动轮播效果。

import * as React from 'react';
import { View, Text, Image, StyleSheet } from 'react-native';
import PagerView from 'react-native-pager-view';

const Carousel = () => {
  return (
    <PagerView style={styles.pagerView} initialPage={0} autoplay={true} autoplayInterval={3000}>
      <View key="1">
        <Image source={{ uri: 'https://example.com/image1.jpg' }} style={styles.image} />
      </View>
      <View key="2">
        <Image source={{ uri: 'https://example.com/image2.jpg' }} style={styles.image} />
      </View>
      <View key="3">
        <Image source={{ uri: 'https://example.com/image3.jpg' }} style={styles.image} />
      </View>
    </PagerView>
  );
};

const styles = StyleSheet.create({
  pagerView: {
    flex: 1,
  },
  image: {
    width: '100%',
    height: 200,
  },
});

export default Carousel;

标签页

你也可以使用 react-native-pager-view 来创建标签页,通过配合 TabBar 组件来实现标签页的切换。

import * as React from 'react';
import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
import PagerView from 'react-native-pager-view';

const Tabs = () => {
  const [page, setPage] = React.useState(0);

  return (
    <View style={styles.container}>
      <View style={styles.tabBar}>
        <TouchableOpacity onPress={() => setPage(0)}>
          <Text>Tab 1</Text>
        </TouchableOpacity>
        <TouchableOpacity onPress={() => setPage(1)}>
          <Text>Tab 2</Text>
        </TouchableOpacity>
        <TouchableOpacity onPress={() => setPage(2)}>
          <Text>Tab 3</Text>
        </TouchableOpacity>
      </View>
      <PagerView style={styles.pagerView} initialPage={page} onPageSelected={e => setPage(e.nativeEvent.position)}>
        <View key="1">
登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
832
5.52 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
496
521
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
808
1.16 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
797
1.6 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
981
2.31 K
kernelkernel
deepin linux kernel
C
33
16
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.04 K
782
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
486
315
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.26 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
665
308