# react-native-shadow **Repository Path**: rn-10/react-native-shadow ## Basic Information - **Project Name**: react-native-shadow - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-27 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 文档模板:v0.4.1 #
react-native-shadow
本项目基于 [react-native-shadow](https://github.com/879479119/react-native-shadow) 开发。 | 三方库名称 | 三方库版本 | 发布信息 | 支持RN版本 | Autolink | 编译API版本 | 社区基线版本 | npm地址 | | ------------ | ------------ | ------------------------------ | ------------- | ------------- |------------------------ | ------------- | ------------- | | @react-native-ohos/react-native-shadow | ~ 1.2.3 | [Github Releases](https://gitcode.com/OpenHarmony-RN/rntpc_react-native-shadow/releases?presetConfig={%22tags%22:3,%22release%22:0}) | 0.61.* | 否 | API12+ | 1.2.2 | [Npm Address](https://www.npmjs.com/package/react-native-shadow) | ## 简介 react-native-shadow 是一个 SVG 阴影组件,为 React Native 提供类似阴影效果。该库通过 SVG 实现阴影效果,提供了 BoxShadow 和 BorderShadow 两种组件。
## 下载安装 进入到工程目录并输入以下命令: **npm** ```bash npm install @react-native-ohos/react-native-shadow ``` **yarn** ```bash yarn add @react-native-ohos/react-native-shadow ``` ## Link | | 是否支持autolink | RN框架版本 | |--------------------------------------|-----------------|------------| | ~ 1.2.3 | No | 0.61 | 本库HarmonyOS侧实现依赖 react-native-svg 的原生端代码,如已在HarmonyOS工程中引入过该库,则无需再次引入,可跳过本章节步骤,直接使用。 如未引入请参照[react-native-svg 文档](/react-native-svg-capi.md#link)进行引入 ## 约束与限制 ### 兼容性 本文档内容基于以下版本验证通过: 1. RNOH: 0.61; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112; ## 使用示例 下面的代码展示了这个库的基本使用场景: > [!WARNING] 使用时 import 的库名为 `react-native-shadow`。 ```javascript import React, { Component } from 'react' import { View, Text, ScrollView, StyleSheet, } from 'react-native'; import { BoxShadow, BorderShadow } from 'react-native-shadow'; const ItemCard = ({ title, width, height, shadowColor, x, y, opacity, border, radius, color }) => ( {title} x: {x} y: {y} width: {width} height: {height} radius: {radius} color: {shadowColor} opacity: {opacity} border: {border} ) export default class ShadowDemoPage extends Component { render() { return ( {/* BoxShadow */} BoxShadow {/* BorderShadow */} BoxShadow 底部阴影 {`width: 150\ncolor: "#ffd166"\nborder: 10\nopacity: 1\nside: "bottom"\ninset: false`} ) } } const styles = StyleSheet.create({ scrollContent: { padding: 16 }, section: { marginBottom: 24, }, sectionTitle: { fontSize: 16, color: '#666', marginBottom: 12 }, row: { marginBottom: 24, flexDirection: 'row', justifyContent: 'space-between' }, itemCard: { backgroundColor: '#FFF', padding: 12, justifyContent: 'center' }, itemTitle: { fontSize: 16, fontWeight: '600', marginBottom: 4 }, itemSubtitle: { fontSize: 12, color: '#999' }, borderSubtitle: { fontSize: 12, color: '#000' }, cardText: { fontSize: 16, fontWeight: '600', marginBottom: 4 }, card: { width: 300, backgroundColor: '#FFF', marginBottom: 16, borderRadius: 8, overflow: 'hidden' }, cardContent: { width: 300, height: 145, borderRadius: 8, padding: 16 }, }) ``` ## 使用说明 ### BoxShadow 使用 ```javascript import { BoxShadow } from 'react-native-shadow' const shadowOpt = { width:100, height:100, color:"#000", border:2, radius:3, opacity:0.2, x:0, y:3, style:{ marginVertical:5 } } ``` ### BorderShadow 使用 ```javascript import {BorderShadow} from 'react-native-shadow' const shadowOpt = { width:100, color:"#000", border:2, opacity:0.2, style:{ marginVertical:5 }, inset:false } ``` ## 接口说明 > [!TIP] "Platform"列表示该属性在原三方库上支持的平台。 > [!TIP] "HarmonyOS平台支持"列为 yes 表示 HarmonyOS平台支持 该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。 ### 组件 | 名称 | 参数类型 | 必填 | 平台 | HarmonyOS平台支持 | 描述 | |------------|------------|----------------------|------|-----|----------------| | BoxShadow| BoxShadowProps | Yes | Android/IOS | Yes | BoxShadow 组件 | | BorderShadow | BorderShadowProps | Yes | Android/IOS | Yes | BorderShadow 组件 | ### 属性 #### BoxShadowProps | 名称 | 参数类型 | 必填 | 平台 | HarmonyOS平台支持 | 描述 | |------------------------------|--------------------|---------------|------|------------------|---------------| | width | number | No | Android/IOS | Yes | 宽度 | | height | number | No | Android/IOS | Yes | 高度 | | color | string | No | Android/IOS | Yes | 阴影颜色| | border | number | No | Android/IOS | Yes | 阴影宽度| | radius | number | No | Android/IOS | Yes | 阴影圆角值 | | opacity | number | No | Android/IOS | Yes | 阴影透明度 | | x | number | No | Android/IOS | Yes | X 方向偏移量 | | y | number | No | Android/IOS | Yes | Y 方向偏移量 | | style | StyleProp | No | Android/IOS | Yes | 包装盒的样式 | #### BorderShadowProps | 名称 | 参数类型 | 必填 | 平台 | OpenHarmony平台支持 | 描述 | |------------------------------|--------------------|---------------|------|------------------|---------------| | width | number | No | Android/IOS | Yes | 阴影宽度 | | color | string | No | Android/IOS | Yes | 阴影颜色 | | border | number | No | Android/IOS | Yes | 阴影宽度 | | opacity | number | No | Android/IOS | Yes | 阴影透明度 | | style | StyleProp | No | Android/IOS | Yes | 包装盒的样式 | | side | "top"/"bottom" | Yes | Android/IOS | Yes | 阴影显示位置 | | inset | boolean | No | Android/IOS | Yes | 是否为内嵌阴影 | ## 遗留问题 ## 其他 ## 目录结构 ```` /react-native-shadow # 项目根目录 ├── example # 示例工程 ├── lib │ └─ BoxShadow.js # BoxShadow组件功能实现 │ └─ BorderShadow.js # BorderShadow件功能实现 ├── index.js # 入口文件 ├── README.md # 中文安装使用方法 ├── README_en.md # 英文安装使用方法 ```` ## 贡献代码 使用过程中发现任何问题都可以提交 [Issue](https://gitcode.com/OpenHarmony-RN/rntpc_react-native-shadow/issues),当然,也非常欢迎提交 [PR](https://gitcode.com/OpenHarmony-RN/rntpc_react-native-shadow/pulls) 。 ## 开源协议 本项目基于 [MIT License](https://github.com/879479119/react-native-shadow/blob/master/LICENSE) ,请自由地享受和参与开源。