npm 包 @hi-enta/react-native-fast-image 使用教程

阅读时长 8 分钟读完

当前,随着移动互联网的快速发展,越来越多的企业和个人开始注重移动端的开发和优化。而作为移动端开发中重要的一环,图片的加载和展示方式也显得格外重要。在 React Native 中,@hi-enta/react-native-fast-image 包作为开发中优秀的图片加载工具,被广泛的应用于开发中。本文将详细介绍该包的使用方法,从基础入门到高级功能,以及一些使用的技巧及建议。

快速入门

为了使用 @hi-enta/react-native-fast-image 包,需要先进行安装:

该包提供了全局组件 FastImage,使用时直接通过 import 引入即可。在页面中使用 FastImage 的方式与 React Native 原生的 Image 组件类似。

-- -------------------- ---- -------
------ ----- ---- --------
------ - --------- - ---- -----------------------------------

------ ------- ----- ----------- ------- --------------- -
  -------- -
    ------ -
      ----------
        -------- ------ ---- ------- --- --
        ---------
          ---- --------------------------------
          --------- --------------------------
        --
        -----------------------------------------
      --
    --
  -
-

上述代码中,指定了图片的宽高,和图片的 uri,同时指定了渲染模式 resizeMode,这里使用了 contain,也可以使用 center、stretch、cover、repeat 等。

基础功能

1. Loading Placeholder

在网络图片加载时,往往需要提前展示一张 Loading Placeholder。@hi-enta/react-native-fast-image 内置了类似占位图的功能,即 placeholder 属性。

-- -------------------- ---- -------
----------
  -------- ------ ---- ------- --- --
  ---------
    ---- --------------------------------
    --------- --------------------------
  --
  -----------------------------------------
  -------------
    ------------------ --
  -
--

2. 错误处理

当图片加载过程中出现错误时,往往需要给用户一个提示,@hi-enta/react-native-fast-image 提供了 onError 属性,可以在加载失败的时候给出一个错误提示。

-- -------------------- ---- -------
----------
  -------- ------ ---- ------- --- --
  ---------
    ---- --------------------------------
    --------- --------------------------
  --
  -----------------------------------------
  ----------- -- -
    --------------------
  --
--

3. 加载优先级

当页面同时需要加载多张图片时,为了用户体验,往往需要对图片的加载优先级做出一定的配置,如下所示:

-- -------------------- ---- -------
----------
  -------- ------ ---- ------- --- --
  ---------
    ---- --------------------------------
    --------- --------------------------
  --
  -----------------------------------------
  ---------- -- -
    --------------------
  --
--

在上述代码中,可以使用 priority 设置加载的优先级。priority 属性支持以下枚举类型:

  • priority.high:高优先级
  • priority.normal:普通优先级
  • priority.low:低优先级

同时,在图片加载完成后,也可以添加 onLoad 事件来处理完成后的逻辑,方便进行后续操作。

高级功能

1. 渐变动画

当我们需要在图片加载时添加一些动态效果时,可以使用 @hi-enta/react-native-fast-image 提供的 Fade 动画来实现类似的效果。

-- -------------------- ---- -------
----------
  -------- ------ ---- ------- --- --
  ---------
    ---- --------------------------------
    --------- --------------------------
  --
  -----------------------------------------
  --------------- -- -
    --------------- ---------- ---- ---
  --
  ------------- -- -
    --------------- ---------- ----- ---
  --
-
  -
    -------------------- --
    ----- -------- --------- ----------- ---- -- ----- -- ------ ------- ------- ------ ---
      ----------
        -------- ----- - --
        --------- ---- -------------------------------- --
        ---------------------------------------
      --
      ----------
        -------- ----- - --
        --------- ---- ---------------------------------- --
        ---------------------------------------
      --
    -------
  -
------------

在上述代码中,通过 onLoadStart 和 onLoadEnd 事件设置了动画的状态。同时通过一个 View 控件实现了底图和渐变层的效果,达到了新增动画的目的。

2. 图片剪切

除了基本的图片加载功能外,@hi-enta/react-native-fast-image 还提供了图片剪切的功能,即使用 crop 属性来进行图片的裁剪。

-- -------------------- ---- -------
----------
  -------- ------ ---- ------- --- --
  ---------
    ---- --------------------------------
    --------- --------------------------
  --
  -----------------------------------------
  ------- ----- ---- ------ ---- ---- ---- ------- --- --
--

crop 属性提供了 left、right、top、bottom 等参数,分别用于设置图片的四个边缘的剪切距离。通过设置这些参数,可以有效的实现图片的剪切操作。

技巧与建议

1. 图片压缩

在移动端开发中,图片的体积往往是确定应用流畅性的重要因素之一。因此,在使用 @hi-enta/react-native-fast-image 进行图片加载时,我们应该充分考虑图片的大小,并在必要时使用压缩方式来减小图片的引用体积。

2. 资源尺寸

在使用图片时,不仅需要考虑图片本身的大小,还需要考虑图片在移动设备中对应的尺寸。可以通过 React Native 提供的 Dimensions API 来获取当前设备的分辨率,从而确定当前需要使用的图片资源尺寸。

3. 移动端优化

在移动端图片的展示中,我们应该尽量减少不必要的请求时间,并保证图片在众多设备上的流畅性。可以通过以下几个方面来进行优化:

  • 尽量使用图片样式设定,尽量减少上传以及下载的图片资源大小。
  • 根据不同的预期场景,使用合适的图片格式,如合适选型的 JPEG、PNG 和 WebP 等。
  • 尝试使用图片懒加载等技术,优化浏览器的带宽利用率。

总结

通过本篇教程,我们学习了 @hi-enta/react-native-fast-image 包的基本用法,并了解了其高级功能及优化技能建议。在日常开发中,我们可以在遵循移动端开发最佳实践的前提下,根据实际情况使用该包来实现优秀的移动端图片加载体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600567de81e8991b448e40fb

纠错
反馈