# ReactNativeScrollNested
**Repository Path**: scenario-samples/react-native-scroll-nested
## Basic Information
- **Project Name**: ReactNativeScrollNested
- **Description**: 在应用开发中,会遇到嵌套滚动的场景。Scrollview用于在屏幕上显示可滚动的内容。它可以包含任意数量的子组件,并且支持水平和垂直滚动。
本示例使用@react-native-safe-area-context实现导航栏规避。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-04
- **Last Updated**: 2026-01-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 在RN中使用Scrollview组件实现嵌套滚动demo
## 场景介绍
在应用开发中,会遇到嵌套滚动的场景。[Scrollview](https://reactnative.cn/docs/scrollview)用于在屏幕上显示可滚动的内容。它可以包含任意数量的子组件,并且支持水平和垂直滚动。
本示例使用[@react-native-safe-area-context](https://gitee.com/react-native-oh-library/usage-docs/blob/master/zh-cn/react-native-safe-area-context.md)实现导航栏规避。
## 效果预览
## 实现思路
1. 通过Scrollview组件展示整个页面的内容,并且允许整体页面上下滚动。在页面中,再嵌入了一个内层的Scrollview组件。
```
{/* 外层 ScrollView 内容 */}
外层滚动区域
{[...Array(20).keys()].map((i) => (
外层内容 {i + 1}
))}
{/* 内层 ScrollView */}
内层滚动区域
{/* 内层 ScrollView 内容,增加到50条 */}
{[...Array(50).keys()].map((i) => (
内层内容 {i + 1}
))}
```
## 约束与限制
- 本示例支持API Version 20 Release及以上版本。
- 本示例支持HarmonyOS 6.0 Release SDK及以上版本。
- 本示例需要使用DevEco Studio 6.0 Release及以上版本进行编译运行。
- 本示例使用0.72.5版本RNOH。
## 工程目录
```
ReactNativeScrollNested // RN工程
├──harmony // harmony工程
│ ├──entry/src/main/cpp // native相关配置
│ │ ├──generated // codegen自动生成的桥接代码
│ │ ├──CMakeLists.txt
│ │ └──PackageProvider.cpp
│ ├──entry/src/main/ets
│ │ ├──entryability
│ │ │ └──EntryAbility.ets
│ │ ├──entrybackupability
│ │ │ └──entrybackupability.ets
│ │ ├──pages
│ │ │ └──Index.ets // harmony侧入口
│ │ └──RNPackagesFactory.ets
│ └──entry/src/main/resources/rawfile // bundle、静态资源存放目录
├──App.tsx // 浏览网页时支持侧滑返回上一页&&导航栏规避
├──index.js // 入口文件
├──metro.config.js // 打包配置
```
## 参考文档
[Scrollview](https://reactnative.cn/docs/scrollview)
[@react-native-safe-area-context](https://gitee.com/react-native-oh-library/usage-docs/blob/master/zh-cn/react-native-safe-area-context.md)