React Native 中的图片加载及使用技巧

阅读时长 4 分钟读完

随着移动互联网的蓬勃发展,越来越多的应用都开始采用跨平台的开发技术,其中,React Native 作为一个快速开发跨平台应用的框架越来越受到开发者的欢迎。在 React Native 中,图片在应用中占据着非常重要的地位,因为用户体验往往也和图片有很大的关系。

在本文中,我们将重点介绍如何在 React Native 中加载图片并对其进行使用。

加载本地图片

React Native 支持从本地加载图片,这里的本地指的是应用内的资源。

React Native 中有两种方式来加载本地图片:通过 require 加载和通过绝对路径加载。

使用 require 加载本地图片,只需要提供相对路径即可,而使用绝对路径则需要提供完整路径。

加载网络图片

除了本地图片之外,React Native 还支持加载网络上的图片。加载网络图片需要提供图片地址,这里可以使用绝对路径或相对路径,相对路径会自动转化为绝对路径。

当然,加载网络图片也可以设置显示的宽度和高度。

图片占位符

考虑到特定情况下网络或本地图片可能加载过慢或加载失败,导致界面出现长时间的空白区域,通过设置占位符可以增强用户体验。在 React Native 中,我们可以通过设置默认占位符来处理这种情况。默认占位符可以是一张本地资源图片,也可以是一个 View。

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

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

以上代码的第一个示例中,使用了本地图片作为默认占位符。而第二个示例中,使用了一个 View 作为默认占位符,求实现一个更加灵活的占位符。

图片加载状态

在应用中,空白的图片占位符看起来虽然不错,但是却不能传递给用户一些信息。如果在图片加载时,能够及时通知用户图片状态,那么用户体验将得到大大提高。React Native 提供了三个状态可以展示给用户:

  • onLoadStart: 图片加载开始时回调;
  • onLoad: 图片加载成功后回调;
  • onError: 图片加载失败后回调。

图片缓存

在 React Native 应用中,如果加载的图片是相对稳定的,而且这些图片没有经常更新,那么我们可以考虑缓存这些图片,以便在用户下次访问时能够更快地加载图片。React Native 通过 Image 组件自带的 cache 属性来支持图片的缓存。默认情况下,React Native 将缓存所有已加载的图片,直到应用被销毁。

上述代码的 cache 属性被设置为 force-cache,这会强制让 React Native 缓存所有的图片数据。当然,如果不想让 React Native 缓存图片数据,可以将 cache 属性设为 default。

总结

React Native 中的图片加载和使用需要我们注意好几个细节,包括:图片加载方式、占位符、加载状态和图片缓存等。当我们理解了这些内容之后,就能够更好地去实现自己的需求并提升用户体验。

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

纠错
反馈