@bsky.app/expo-scroll-edge-effect

中文文档
0.1.11发布于 2026/11/02MITTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 32.2万

用于 UIScrollEdElement 容器接口的 Expo 模块

中文使用文档
文档目录9 节
  1. 安装
  2. 使用量
  3. 与复苏
  4. API 密码
  5. <ScrollEdgeEffectProvider>
  6. useScrollEdgeEffectRef()
  7. <ScrollEdgeEffect>
  8. 平台支持
  9. 许可证

@bsky.app/expo-scroll-edge-effect (英语)

展览模块包装 UIScrollEdgeElementContainerInteraction (iOS 26+). 允许覆盖滚动视图边缘的视图自动影响滚动边缘效应形状.

在更古老的iOS版本和其他平台上,组件渲染为普通 View编号.

https://github.com/user-attachments/assets/3c6e3ed1-b785-48cc-9d2e-63dfadb45ad2 互联网档案馆的存檔,存档日期2013-12-22

安装

npm install @bsky.app/expo-scroll-edge-effect

然后运行 npx pod-install 连接本地模块.

要求数 expo 将配置到您的工程.

使用量

import {
  ScrollEdgeEffectProvider,
  ScrollEdgeEffect,
  useScrollEdgeEffectRef,
} from "@bsky.app/expo-scroll-edge-effect";

function Screen() {
  return (
    <ScrollEdgeEffectProvider>
      <ScrollEdgeEffect edge="top">
        <MyHeader />
      </ScrollEdgeEffect>

      <ScrollContent />

      <ScrollEdgeEffect edge="bottom">
        <MyFooter />
      </ScrollEdgeEffect>
    </ScrollEdgeEffectProvider>
  );
}

function ScrollContent() {
  const scrollEdgeRef = useScrollEdgeEffectRef();

  return (
    <ScrollView ref={scrollEdgeRef}>
      {/* ... */}
    </ScrollView>
  );
}

与复苏

裁判回来了 useScrollEdgeEffectRef 是一个回调,所以它与 mergeRefs数字 :

const animatedRef = useAnimatedRef();
const scrollEdgeRef = useScrollEdgeEffectRef();

<Animated.ScrollView ref={mergeRefs([animatedRef, scrollEdgeRef])} />

API 密码

<ScrollEdgeEffectProvider>

包装屏幕内容。 在上下文中保持滚动视图参考,以便 <ScrollEdgeEffect> 组件可以附加在它上.

useScrollEdgeEffectRef()

返回回调回调 ScrollView。必须在 <ScrollEdgeEffectProvider>。 。 。 .

<ScrollEdgeEffect>

环绕覆盖滚动视图边缘的内容。 在iOS 26+上,后人视图(标签,按钮,图像等)会自动影响卷轴边缘效应形状.

Prop类型说明
edge'top' | 'bottom' | 'left' | 'right'哪个滚动视图边缘覆盖此内容 .
effect'automatic' | 'hard' | 'soft' | 'hidden'边缘效果风格 。 默认为 'automatic'。 。 。 . 'hidden' 完全禁用交互.
fallbackStyleViewStyle非iOS平台和iOS < 26.
...viewPropsViewProps所有标准 View道具被转发.

平台支持

平台行为
iOS 26+ (英语)土著 UIScrollEdgeElementContainerInteraction
iOS < 26像平地一样 View (没有崩溃)
机器人/网络像平地一样 View

许可证

麻省理工学院

版本与发布记录

@bsky.app/expo-scroll-edge-effect 共发布 7 个版本,首次发布于 2026/03/10;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.11latest2026/11/026 天前
0.1.102026/09/211 个月前
0.1.92026/07/084 个月前
0.1.42026/03/127 个月前
0.1.32026/03/107 个月前
0.1.22026/03/107 个月前

关于 @bsky.app/expo-scroll-edge-effect 的常见问题

@bsky.app/expo-scroll-edge-effect 是什么?

用于 UIScrollEdElement 容器接口的 Expo 模块

如何安装 @bsky.app/expo-scroll-edge-effect?

在项目目录运行 npm install @bsky.app/expo-scroll-edge-effect,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:expo(*)、react(*)、react-native(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bsky.app/expo-scroll-edge-effect 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bsky.app/expo-scroll-edge-effect 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bsky.app/expo-scroll-edge-effect 可以商用吗?

@bsky.app/expo-scroll-edge-effect 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bsky.app/expo-scroll-edge-effect 的下载量有多少?

根据 npm 官方下载统计,@bsky.app/expo-scroll-edge-effect 在 2026/10/09 – 2026/11/07 这 30 天内被下载 322,266 次,日均约 10,742 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bsky.app/expo-scroll-edge-effect 还在维护吗?

最新版本 0.1.11 发布于 2026/11/02(6 天前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/03/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。