这是叉子 反应-内生-快成像。所有功劳都归原作者所有.
快速图像
React Natural 的高性能图像组件,现已为 新建反应原生建筑!
为何如此?
快速图像 现在包括:
- 涡轮摩多 财务报告和审定财务报表 家具渲染器 用于增强性能的相容性.
- AVIF 图像支持 用于下源图像格式.
- 相对于原始寄存器, 有许多错误修正和性能改进 .
为什么选择快照?
FastImage 是 React Industrial 的倒置替代品 Image 组件,为常见图像加载挑战提供解决方案,例如:
- 装入时闪烁
- 缓存不一致
- 从缓存中缓慢加载
- 总体业绩欠佳
快速图像杠杆 SDWebImage (iOS) (英语) 财务报告和审定财务报表 胶体 (Android) 用于本地的缓冲和高效.
经验点燃-快速图像 与最新的反应原生技术.
* 特性
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}冲锋而入 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}快.
- ✅自定义的授权头.
- QQ 优先图像加载 .
- QQ 预装即时显示 .
- ++ 完整GIF、SVG和 AVIF支助。 。 。 .
- * 支持
borderRadius。 。 。 . - QQ支持Fabric Render (v8.7.0+).
- QQ支持涡轮摩多列车(v8.8.0+).
* 安装
要在您的工程中安装 FastImage, 请运行 :
使用 yarn数字 :
yarn add @d11/react-native-fast-image
cd ios && pod install
或者说用 npm数字 :
npm install @d11/react-native-fast-image
cd ios && pod install
说明: 您必须使用 React Industrial 0. 60.0 或更高版本来使用最新版本
@d11/react-native-fast-image。 。 。 .
可选: 禁用 SVG 解码器
如果您不需要 SVG 支持, 您可以通过环境变量来禁用 SVG 解码器, 以减少本地依赖/ 二进制大小 :
- iOS( 在运行可可花前):
export DISABLE_SVG=1
cd ios && pod install
- Android(建筑前):
export DISABLE_SVG=1
# then build as usual, e.g.
yarn android
要重新启用 SVG 支持, 请取消变量或设置为 0 , 并重新安装 cocks/ 重建 .
用法示例
import FastImage from "@d11/react-native-fast-image";
import * as React from "react";
const YourImage = () => (
<FastImage
style={{ width: 200, height: 200 }}
source={{
uri: "https://unsplash.it/400/400?image=1",
headers: { Authorization: "someAuthToken" },
priority: FastImage.priority.normal,
}}
resizeMode={FastImage.resizeMode.contain}
/>
);
已使用胶片 AppGlideModule? 吗?
如果你已经使用Glide和一个 AppGlideModule, (中文(简体) ), 读取此指南 确保顺利整合.
ProGuard 配置
如果使用 保护,将这些规则添加到 android/app/proguard-rules.pro数字 :
-keep public class com.dylanvann.fastimage.* {*;}
-keep public class com.dylanvann.fastimage.** {*;}
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
API 文档
属性
| 财产 | 类型 | 说明 |
|---|---|---|
source | object | 远程图像的来源 。 接受具有子属性的对象 uri, (中文(简体) ), headers, (中文(简体) ), priority,以及 cache。 。 。 . |
source.uri | string | 装入图像的 URL 。 例如, "https://unsplash.it/400/400?image=1"。 。 。 . |
source.headers | object | 装入图像的页眉,例如, { Authorization: "someAuthToken" }。 。 。 . |
source.priority | FastImage.priority | 装入优先级 : - 说吧 FastImage.priority.low - 说吧 FastImage.priority.normal (违约) - 说吧 FastImage.priority.high |
source.cache | FastImage.cacheControl | 缓存控制 : - 说吧 FastImage.cacheControl.immutable (违约) - 说吧 FastImage.cacheControl.web - 说吧 FastImage.cacheControl.cacheOnly |
defaultSource | number | 装入的资产 require() 或者说 import. 注:关于Android, defaultSource 不在调试模式下工作. |
resizeMode | FastImage.resizeMode | 调整模式 : - 说吧 FastImage.resizeMode.contain - 说吧 FastImage.resizeMode.cover (违约) - 说吧 FastImage.resizeMode.stretch - 说吧 FastImage.resizeMode.center |
transition | FastImage.transition | 显示图像时应用的过渡 : - 说吧 FastImage.transition.none (违约) - 说吧 FastImage.transition.fade (反应原生图像等同) |
onLoadStart | function | 当图像开始装入时调用 . |
onProgress | (event: OnProgressEvent) => void | 图像装入时召回 event.nativeEvent.loaded 财务报告和审定财务报表 event.nativeEvent.total 字节. |
onLoad | (event: OnLoadEvent) => void | 当图像成功装入时调用 event.nativeEvent.width 财务报告和审定财务报表 event.nativeEvent.height 数值. |
onError | (event: OnErrorEvent) => void | 当装入图像时出错或源头畸形时调用 event.nativeEvent.error。 。 。 . |
onLoadEnd | function | 图像装入完成后调用, 无论成功还是失败 . |
style | ViewStyle | 图像组件的样式, 支持 borderRadius。 。 。 . |
fallback | boolean | 若为 true,它会回到使用 Image样式和布局 FastImage。 。 。 . |
tintColor | number 或者说 string | 图像中所有不透明像素的颜色符号 . |
testID | string | 测试的可选身份证,例如: react-test-renderer。 。 。 . |
blurRadius | number | 用于调整图像中模糊度的参数. |
静态方法
| 方法 | 说明 |
|---|---|
FastImage.preload(sources: object[]) | 预装图像, 以在渲染时更快显示 . 示例 FastImage.preload([{ uri: "https://unsplash.it/400/400?image=1" }])。 。 。 . |
FastImage.clearMemoryCache(): Promise<void> | 清除内存缓存中的所有图像. |
FastImage.clearDiskCache(): Promise<void> | 清除磁盘缓存中的所有图像. |
捐款
我们欢迎为改善快照作出贡献! 请检查我们的 贡献指南 关于如何开展工作的准则.
* 解决问题
如果您在使用此库时遇到问题,请尝试我们 解决问题指南。 。 。 .
QQ 支持的回放原生版本
该项目旨在支持最新版本的 " React Introduction " ,简化开发和测试。 对于更古老的版本,如果需要特定特性或错误修正,请考虑取消寄存器.
• 信贷
这个模块的最初想法来自 @vovkasm (英语)’: 反应-内生-网络图像 软件包.
特别感谢: